提问人:user947737 提问时间:11/14/2023 更新时间:11/15/2023 访问量:59
如何查找 ControlTemplate 生成的元素 - 排除 FindName()
How to find ControlTemplate-Generated Element - FindName() excluded
问:
我有一个精心设计的自定义控件,它根据其 ContentTemplate 创建的控件类型更改其分析内容的方式。我不能依赖于模板中给出的名称(其他人的用法),因此 Template.FindName 将无法正常工作,如以下示例所示:Microsoft Learn。我在搜索中没有找到可用的答案,因为所有结果都指向链接示例中的解决方案。使用 VisualTreehelper 意味着知道模板包含的内容,所以这不是这个想法。
以这个 ContentTemplate 为例,我需要获取 ListBox 的实例。
<DataTemplate x:Key="MyKey">
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding X}" />
<TextBlock Text="{Binding Y}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有什么想法吗?
答:
评论
Loaded