WPF DataTemplate - x:Key 与 DataType="{x:Type XXXX")
我想使用 FrameworkElement.FindResource()
查找一个 DataTemplate。为此,我需要拥有数据模板上的密钥。
问题在于 x:key 和分配数据类型是互斥的。 (参考)
因此,一旦我为模板设置了数据类型,如何找到关键值?是否有一些公式可以将 DataTemplate 转换为 Key 的字符串?
(有关为什么我需要获取资源找到的 DataTemplate 的疑问,请参阅此问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
x:Key 似乎是 System.Windows.DataTemplateKey 类型的对象。因此,您可以使用
new DataTemplateKey(typeof(myType))
为您的资源“创建”密钥。FindResource
将使用此键,因为TemplateKey.Equals
已被覆盖。这是一个非常简单的示例应用程序:
XAML:
代码隐藏:
The x:Key seems to be an object of type
System.Windows.DataTemplateKey
. So, you can "create" the key for your resource withnew DataTemplateKey(typeof(myType))
.FindResource
will work with this key, sinceTemplateKey.Equals
has been overridden.Here is a very simple example application:
XAML:
Codebehind: