WPF绑定到数据集

WPF绑定到数据集,wpf,data-binding,Wpf,Data Binding,我将以下关系定义为强类型数据集: 假设窗口的datacontext绑定到用户表的当前行 我希望绑定DataGrid,以便为ConfigOption表中的每个项目显示一个复选框列表,其中我们假设ConfigOption_Description是一个字符串值,其中包含要显示在复选框旁边的名称 用户在UserConfig表中有一条适用于他们的每个配置选项的记录。配置值(ConfigValue)是一个布尔值。如果表中未显示任何记录,则假定该值与设置为false的值相同-即,用户未启用此选项 我知道我可

我将以下关系定义为强类型数据集:

假设窗口的datacontext绑定到用户表的当前行

我希望绑定DataGrid,以便为ConfigOption表中的每个项目显示一个复选框列表,其中我们假设ConfigOption_Description是一个字符串值,其中包含要显示在复选框旁边的名称

用户在UserConfig表中有一条适用于他们的每个配置选项的记录。配置值(ConfigValue)是一个布尔值。如果表中未显示任何记录,则假定该值与设置为false的值相同-即,用户未启用此选项

我知道我可以将窗口的数据上下文绑定到当前用户,并使用传递当前用户的用户ID的转换器,我可以确定每个选项中应为当前用户启用的选项(以及应选中的复选框)

我想知道是否有一种方法可以定义我的CollectionViewSource:

<Window>
  <Window.Resources>
    <CollectionViewSource x:Key="cvsUsers" />
    <CollectionViewSource x:Key="cvsUserConfig" />
    <CollectionViewSource x:Key="cvsConfigOptions" />
  </Window.Resources>
  <DataGrid DataContext="cvsConfigOptions">
    <CheckBox Content="{Binding Path=[ConfigOption_Description]}" IsChecked="????" />
  </DataGrid>
</Window>

我知道我可以使用转换器绑定IsChecked,但是肯定有一种方法可以利用表和它们之间已经定义的关系绑定这些对象

只是一个假设的抽象示例(不起作用)是:

<DataGrid>
  <Checkbox Content="Option1" IsChecked="CurrentUser.Option1.ConfigValue" />
  <Checkbox Content="Option2" IsChecked="CurrentUser.Option2.ConfigValue" />
  <Checkbox Content="Option3" IsChecked="CurrentUser.Option3.ConfigValue" />
</DataGrid>


您的问题不清楚<代码>配置值是布尔值吗?此外,绑定与外键无关。请澄清可以通过创建一个视图找到解决问题的方法,该视图提供所需的详细信息,如ConfigOption_说明和ConfigValue,并使用该视图创建CollectionViewSource并将其绑定到Datagrid复选框。希望这有帮助