在 WPF 和 Silverlight 中,您可以创建 View 模型对象,并在运行时构造控件时将其设置到控件的 DataContext 中。然后,您可以将可视对象的属性绑定(bind)到 DataContext 中的属性。
设置绑定(bind)的一种方法是将绑定(bind)直接键入标签中:
<TextBox Text="{Binding Path=Description}"/>
这会将文本框绑定(bind)到 View 模型中的 Description 属性。
在绑定(bind)中输入的问题是您可能会犯输入错误。 (如果您有数百个绑定(bind)要做,您几乎肯定会犯错误。)
在 Expression Blend 中,“属性”窗口中“文本”属性旁边有一个小白点。这将打开一个菜单,您可以从中创建数据绑定(bind)。
- 如何让我的 View 模型属性显示在“创建数据绑定(bind)”对话框中,以便我可以选择它们。
- Blend 中的数据绑定(bind)配置是否会干扰在运行时将 View 模型设置到 DataContext 中?
最佳答案
一种技术是将虚拟机作为资源包含在您的 View 中:
<UserControl>
<UserControl.Resources>
<local:YourViewModel x:Key="ViewModel"/>
</UserControl.Resources>
</UserControl>
然后您可以在其他地方将其引用为 DataContext="{StaticResource ViewModel}"
。
不能说我喜欢它,但我不能说我喜欢 Blend 强加给你的设计的任何 View 优先的特质。
关于wpf - 如何将数据绑定(bind)到 Expression Blend 中的 ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1503852/