与DataContext.Object.Property的Metro Xaml绑定不起作用
我正在将xaml页面的datacontext设置为传递给构造函数的viewmodel。我的viewmodel有一个名为Item的对象,它有一个名为Category的属性与DataContext.Object.Property的Metro Xaml绑定不起作用,xaml,Xaml,我正在将xaml页面的datacontext设置为传递给构造函数的viewmodel。我的viewmodel有一个名为Item的对象,它有一个名为Category的属性 public DataEntry(DEViewModel vm) { InitializeComponent(); this.vm = vm; this.DataContext = this.vm; } 我正在尝试绑定到ViewModel.Item.Category属性,如下所示: <TextBox Name="txtC
public DataEntry(DEViewModel vm)
{
InitializeComponent();
this.vm = vm;
this.DataContext = this.vm;
}
我正在尝试绑定到ViewModel.Item.Category属性,如下所示:
<TextBox Name="txtCategory" Text="{Binding Path=Item.Category, Mode=TwoWay}" />
这是行不通的。如果我将datacontext设置为vm.Item,并绑定到Category,它就会工作
关于如何绑定到viewmodel上挂起的对象的属性,有什么想法吗
谢谢,特伦斯像这样做
<TextBox Name="txtCategory"
Text="{Binding Category, Mode=TwoWay}"
DataContext="{Binding Item}" />
它不工作的原因是因为它只查看DataContext
的属性通知,所以只需将控件的本地DataContext
设置为Item
,控件将处理Item
的属性通知
谢谢,
亚历克斯。像这样做
<TextBox Name="txtCategory"
Text="{Binding Category, Mode=TwoWay}"
DataContext="{Binding Item}" />
它不工作的原因是因为它只查看DataContext
的属性通知,所以只需将控件的本地DataContext
设置为Item
,控件将处理Item
的属性通知
谢谢,
Alex。Alex,谢谢你的意见,但该解决方案不起作用,你能试试吗?它是否弹出某种错误消息?或者它只是没有绑定到字段?它只是没有将值绑定到文本框。如果我将页面上的datacontext设置为object.item,并将文本{binding category}设置为有效,那么我在自己的项目中的一些地方使用了这个解决方案。我只能说文本框的DataContext应该绑定到“object.item”,然后“object.item”的本地字段应该可以访问,并且可以在单个文本框控件上双向绑定。Alex,谢谢你的输入,但是该解决方案不起作用,你能试一下吗?它弹出了某种错误消息吗?或者它只是没有绑定到字段?它只是没有将值绑定到文本框。如果我将页面上的datacontext设置为object.item,并将文本{binding category}设置为有效,那么我在自己的项目中的一些地方使用了这个解决方案。我只能说文本框的DataContext应该绑定到“object.item”,然后“object.item”的本地字段应该可以访问,并且可以在单个textbox控件上双向绑定。