0
我有我想在我的用户控件的资源字典定义,并将其设置为像这样的数据上下文视图模型:为什么我不能设置一个静态资源的X:名称在XAML
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/DMV;component/Controls.xaml"/>
</ResourceDictionary.MergedDictionaries>
<vm:TaskViewModel x:Key="taskViewModelKey" x:Name="taskViewModelName" />
</ResourceDictionary>
</UserControl.Resources>
<UserControl.DataContext>
<StaticResourceExtension ResourceKey="taskViewModelKey"/>
</UserControl.DataContext>
但该领域的“x:名称=‘taskViewModelName’”显示了一个错误:
Could not register duplicate name 'taskViewModelName' in this scope
我想设置x:在DataContext的名称,这样我仍然可以从代码中访问它的后面。
关于如何修复此错误的任何建议?
“重名‘taskViewModelName’”。当然你没有在其他地方使用这个名字? – Clemens
@Clemens绝对正面! – Timmoth
除此之外,您可以轻松访问DataContext属性后面的代码中的TaskViewModel实例,如'(TaskViewModel)DataContext',因此不需要在UserControl的资源中包含它。 – Clemens