【发布时间】:2012-06-05 08:47:10
【问题描述】:
简单来说,我有一个 ResourceDictionary,其中包含一个 DataTemplate 和一个 ViewModel-Class。
<ResourceDictionary>
<DataTemplate DataType="Whatever">
<ListBox ItemsSource="{Binding Source={StaticResource MyViewModel}, Path=SomeGlobalData}" />
</DataTemplate>
<MyViewModelClass x:Key="MyViewModel" />
</ResourceDictionary>
当然,Binding 不起作用(它会引发异常),因为 DataType 没有资源“MyViewModel”。但在 VisualTree 中,获取 DataTemplated 的“事物”是一个对象的子对象,该对象已将 ResourceDictionary 合并到其资源中,因此可能有一种方法可以在运行时访问它。
所以我的问题是:有什么干净的方法可以在 DataTemplate 中访问“MyViewModel”吗?
【问题讨论】:
标签: wpf resources datatemplate