我有一个带有OneWay绑定到字符串属性的TextBox,我希望它在我的DataContext上的其他一些属性发生变化时更新。我的DataContext是一个ObservableCollection,TextBox显示有关该集合的统计信息。因此,我希望在集合更改时更新统计信息,但我不想引发一个虚拟的“统计信息更改”事件。
换句话说,XAML(或通常的数据绑定)是否允许我为控件的数据指定一个绑定,为它的更新事件指定另一个绑定?
如果我对您的理解正确,有一种更简单的方法可以实现您想要的:
<ListBox ItemsSource={Binding Items} />
<TextBox Text="{Binding Items/PropertyName}" />
假设您ObservableCollection
有一个在其中命名的可绑定属性PropertyName
,并且您的视图模型(或DataContext
)有一个名为Items
your 类型的属性ObservableCollection
,那么TextBox
控件将显示PropertyName
集合中当前选定项的值。
您可以从 MSDN 上的PropertyPath XAML 语法页面了解有关“/”路径语法的更多信息。