我正在尝试使用以下 XAML 代码将 ViewModel 设置为 View 的 DataContext:
<UserControl.DataContext>
<local:MyViewModel />
</UserControl.DataContext>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/MA_Resources/MA_ResourceDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
<local:MyViewModel x:Key="myViewModel" x:Name="myVM" />
</ResourceDictionary>
</UserControl.Resources>
但是,我观察到视图模型构造函数被调用了两次。我知道视图模型在 XAML 中被实例化了两次,我应该将 DataContext 设置为资源中的 StaticResource。但是,我无法弄清楚如何使用 StaticResource 设置 DataContext。我尝试了以下方法,但它给出了一个例外:
<UserControl .... DataContext="{StaticResource myViewModel}" >
请帮我弄清楚分配 DataContext 的适当 XAML 代码应该是什么。