我在我的应用程序中使用 MVVM,DataContext
控件在我的 c# 代码中分配(而不是在 XAML 中)。
因此 XAML 控件不知道它的 DataContext
是哪个实例类型。设定为。结果是我的 View 模型在 XAML 中的绑定(bind)属性没有重构支持和智能感知。
有没有办法告诉 XAML 中的控件它的 DataContext
是哪种类型?已连接?
因此,当我在 ViewModel 中修改属性名称或搜索该属性的所有引用时,我希望 XAML 绑定(bind)中的该属性也得到考虑。
最佳答案
没有框架支持,你能做的最好的就是告诉 VS 设计者 DataContext 的“形状”,这样它就会给你属性的提示。如果你想让你的解决方案更耐重构,我会推荐 Daniel 的 T4 元数据解决方案:
http://www.codeproject.com/KB/codegen/T4Metadata.aspx
这会为您的 View 模型生成元数据,您可以在 XAML 中引用这些元数据:
<StackPanel DataContext="{Binding Source={StaticResource Person}}">
<TextBlock >Name:</TextBlock>
<TextBox Text="{Binding Path={x:Static Metadata:PersonMetadata.NamePath}}"/>
</StackPanel>
科林·E。
关于wpf - XAML DataContext 和 ViewModel 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462097/