【发布时间】:2012-11-11 18:09:50
【问题描述】:
我正在尝试使用以下 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 代码。
【问题讨论】:
标签: wpf viewmodel datacontext resourcedictionary