1
设置的DataContext我尝试使用下面的XAML代码来设置视图模型作为视图的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设置为Resources中的StaticResource。但是,我无法弄清楚如何使用StaticResource设置DataContext。 我尝试以下,但它给一个例外:
<UserControl .... DataContext="{StaticResource myViewModel}" >
请帮我搞清楚什么应该是分配的DataContext适当的XAML代码。
问题是,如果你将一个属性绑定到某些不会继承datacontext(即DataGridColumn的Visibility属性)的东西,那么它使得它更容易与source = {StaticResource VM}进行绑定。 – William
对于d:DataContext,请使用:d:UserControl.DataContext –