- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 FrameworkElement
(实际上是一个 ToggleButton
),其内容中有一个 Popup
。
我是这样访问的:
ToggleButton button = (ToggleButton)sender;
Popup popup = (Popup)button.FindName("popSelectIteration");
通常这很好用。但有时弹出窗口为空。
我正在尝试找到一种调试方法。有没有办法枚举 FindName 可以找到的所有“东西”?
作为背景,这是我的弹出窗口在 ToggleButton 中的定义方式:
<ToggleButton Grid.Column="1" HorizontalAlignment="Right" Margin="0,2,0,2" Checked="btnFindIterationChecked">
<Grid>
<Popup PlacementTarget="{Binding ElementName=chkIteration}" Name="popSelectIteration" Closed="popSelectIteration_Closed"
AllowsTransparency="True" StaysOpen="False" PopupAnimation="Fade">
<Border BorderBrush="#FF000000" Background="LightBlue" BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" Padding="5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="300"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Foreground="Black" >Select Destination:</TextBlock>
<ScrollViewer Grid.Row="1" >
<TreeView ItemsSource="{Binding IterationTree}" SelectedItemChanged="TreeView_SelectedItemChanged">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding PathEnd}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</ScrollViewer>
<Button Grid.Row="2" Background="LightBlue" Content="Clear Selection" Click="btnClear_Click"/>
</Grid>
</Border>
</Popup>
</Grid>
</ToggleButton>
最佳答案
尝试 Snoop .对于与可视化树有关的所有内容,它都是一个很棒的 WPF 调试实用程序。
编辑:您的具体问题似乎是时间问题。我猜这棵树还没有完全构建好,你尝试访问一个子元素,尽管它还没有创建。等到最顶层的元素收到“已加载”事件。
关于c# - WPF - FrameworkElement - 枚举所有后代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285196/
我是 Silverlight 编程的新手。谁能告诉我两者之间的区别 FrameworkElement obj=sender as FrameworkElement 和 FrameworkElement
在对 Cannot find governing FrameworkElement or FrameworkContentElement for target element 错误进行了一些研究后,我
我试图在构造函数中设置Page的Name属性: public partial class PageListView : Page { public PageListView(string ti
试图让 OnMouse 事件出现在 child 身上 FrameworkElement .父元素是 Panel (并且 Background 属性不是 Null)。 class MyFramework
我们有一个派生自 FrameworkElement 且不受我们控制的类。此类在 OnInitialize 中注册事件处理程序方法。 由于 FrameworkElement 不提供与 OnInitial
我一直在通过 Sells/Griffiths 的“Programming WPF”自学 WPF,我发现它是一个很好的资源,但我正在尝试采用他们向我介绍的一些概念并开始更进一步,我遇到了关于如何将各个部
我正在使用我在 http://brianlagunas.com/wpf-copy-uielement-as-image-to-clipboard/ 找到的一些代码复制呈现的 XAML Treeview
我不清楚您何时会使用 UIElement而不是 FrameworkElement ,以及为什么会有 FrameworkElement根本没有课。本质上,FrameworkElement 的额外功能是什
我正在尝试在使用 Uno 构建的 WebAssembly 应用程序中创建文件对话框。我添加了一个自定义 FrameworkElement 来创建 在页面中像这样: [HtmlElementAttrib
我收到了 FrameworkElement在类的事件处理程序中。是否有可能检查这个 FrameworkElement是具有 borderthickness/borderbrush 属性的元素吗? 喜欢
根据文档“(FrameworkElement.SizeChanged) 当此元素上的 ActualHeight 或 ActualWidth 属性值更改时发生。” 运行以下测试方法,我的矩形的 Actu
每个 FrameworkElement 都有一个 Loaded 事件,该事件在以下情况下触发: the tree is not only built and initialized, but layo
您能否举例说明如何创建直接从 FrameworkElement 派生的自定义复合控件(在 Silverlight 4 中)。这是一个模型: public sealed class CompositeI
我有一棵视觉树。主窗口有一个全尺寸的 Canvas 。 Canvas 包含一些自定义视觉对象的根。第一个自定义 Visual (A) 可以根据用户正在查看的内容进行扩展和收缩,这些内容位于子项中(Bs
是否可以识别哪个窗口/用户控件拥有 FrameworkElement ? 谢谢你。 最佳答案 您可以使用 .Parent “走上去” - 属性,直到找到窗口或用户控件。只需在向上走时检查 parent
我有一个 FrameworkElement(实际上是一个 ToggleButton),其内容中有一个 Popup。 我是这样访问的: ToggleButton button = (ToggleButt
我正在尝试自定义绘制 GridSplitter,并且我有以下 XAML 代码: DiffSplitterCanva
如何获取框架元素边界矩形的左上角坐标? let fe : FrameworkElement = ea.Item.Content let p = fe.TranslatePoint(ne
对于 WPF,Window 类中有一个 ContentRendered 事件,它让我们知道视觉元素何时被渲染。 有什么可以帮助我为 UWP 应用实现相同的结果吗?我想知道 FrameworkEleme
我的一个数据源生成一组值,这些值被输入到以下接口(interface) public interface IData { string Name { get; } FrameworkE
我是一名优秀的程序员,十分优秀!