c# - WPF 命令绑定(bind)到祖先属性

标签 c# wpf xaml mvvm

我对绑定(bind)到 WPF 中的祖先属性有疑问。我的情况是:我的窗口有一个 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/

相关文章:

c# - WPF ComboBoxItem Style 在 Combobox 获得焦点后加载

c# - 从值转换器访问资源字典中的颜色

c# - 在文本框中发生任何更改时立即更改按钮的启用状态?

xaml - TextBlock 中每个字母有多种颜色,无间距

C# Selenium 如何在不使用 pageup/pgdn 的情况下滚动可滚动的 div,而不是整个网页

c# - IIS7 URL Rewrite 为 WCF 请求返回 404(反向代理)

c# - 如何设置图像适合 ScrollViewer 的宽度

wpf - 是否有在 XAML 中应用 Binding.ValidationRules 的简洁方法

c# - 从 C# 中的实例变量获取对象引用?

.net - 如何在 WPF 中创建基页?