WPF:从 DataTemplateSelector 类中的 UserControl 查找资源
我知道有这个线程: 如何从 WPF 中的 DataTemplateSelector 类中查找 UserControl 中的资源?
问同样的问题。
但是...我对答案不满意!必须有一种方法来获取
包含 ContentControl/Presenter 声明的 UserControl 的资源:
ContentTemplateSelector="{StaticResource MySelector}"
每个派生的 DataTemplateSelector 类在其 SelectedTemplate 方法 => 中都有一个参数
DependencyObject 类型的容器。
在我的例子中,容器就是内容控件。
是否不可能从“contentcontrol”开始爬上视觉树并尝试 通过 FindAncestor 获取 UserControl ?
I know there is this thread: How to find a resource in a UserControl from a DataTemplateSelector class in WPF?
asking the same.
BUT... I am not satisfied with the answer! THERE MUST be a way to grab the Resources of the
UserControl containing the ContentControl/Presenter declaring this:
ContentTemplateSelector="{StaticResource MySelector}"
Each derived DataTemplateSelector
class a parameter in its SelectedTemplate
Method =>
container which is typeof DependencyObject.
Well container is in my case the contentcontrol.
Would it not be possible to climb up the visual tree starting at "contentcontrol" and try
to get the UserControl via FindAncestor ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您可以将
container
参数强制转换为FrameworkElement
并调用 FindResource 从ContentPresenter
开始进行资源查找。例如:代码:
XAML:
Yes, you can cast the
container
parameter toFrameworkElement
and call FindResource to do a resource lookup starting at theContentPresenter
. For example:Code:
XAML: