簡単に言うと、DataTemplate と ViewModel-Class を含む ResourceDictionary があります。
<ResourceDictionary>
<DataTemplate DataType="Whatever">
<ListBox ItemsSource="{Binding Source={StaticResource MyViewModel}, Path=SomeGlobalData}" />
</DataTemplate>
<MyViewModelClass x:Key="MyViewModel" />
</ResourceDictionary>
もちろん、DataType にはリソース 'MyViewModel' がないため、Binding は機能しません (例外が発生します)。しかし、VisualTree では、DataTemplated を取得する「もの」は、ResourceDictionary がそのリソースにマージされたオブジェクトの子であるため、実行時にアクセスする方法があるかもしれません。
だから私の質問は: DataTemplate 内の 'MyViewModel' にアクセスするクリーンな方法はありますか?