我对绑定(bind)到WPF中的祖先属性(property)有疑问。我的情况是:我的窗口有一个 View 模型作为数据上下文,所有命令都作为ICommand属性。我有一个复选框列表,如下所示:
<ItemsControl ItemsSource="{Binding CurrentCustomer.SuppiersSelection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox FontSize="16" Content="{Binding Path=Supplier.Company}"
IsChecked="{Binding Path=Selected}"></CheckBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
问题是:我希望每个复选框都绑定(bind)有一个命令,以便在选中或取消选中供应商时自动保存客户与供应商之间的关系。我的问题是命令属性位于“窗口数据上下文”上,并且此复选框将ItemControl的ItemsSource用作数据上下文。如何绑定(bind)到Window Data Context上的属性?
在此先感谢您的帮助。
最佳答案
{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=DataContext}
但是目前尚不清楚任务是什么。
为什么不使用两种方式绑定(bind)并处理Selected属性的更改?
关于c# - WPF命令绑定(bind)到祖先属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12230027/