WPF绑定复选框内容并被选中到不同的列表

WPF绑定复选框内容并被选中到不同的列表,wpf,vb.net,xaml,multibinding,Wpf,Vb.net,Xaml,Multibinding,我在将多个属性绑定到单个控件时遇到问题。我有两个名为UserList和GroupList的列表。我试图显示系统中所有组的复选框的列表视图。UserList对象包含一个基于其所属组ID的整数列表。如果UserList对象包含groupList中某个组的ID,我希望选中复选框 例如,组列表可能包含ID 1、2、3、4。而UserList的id列表是1和3。因此,我希望选中复选框1和3,但不选中复选框2和4 要做到这一点,我需要同时绑定到两个不同的属性,并且可能需要某种转换器。我对这东西还不太熟悉,所

我在将多个属性绑定到单个控件时遇到问题。我有两个名为UserList和GroupList的列表。我试图显示系统中所有组的复选框的列表视图。UserList对象包含一个基于其所属组ID的整数列表。如果UserList对象包含groupList中某个组的ID,我希望选中复选框

例如,组列表可能包含ID 1、2、3、4。而UserList的id列表是1和3。因此,我希望选中复选框1和3,但不选中复选框2和4

要做到这一点,我需要同时绑定到两个不同的属性,并且可能需要某种转换器。我对这东西还不太熟悉,所以我有点纠结于下一步该怎么做。这是我目前得到的-

<ListView Name="ListBox1"
Grid.Row="1"
Margin="30,4,30,22"
FontFamily="Segoe UI"
FontSize="14"
ItemsSource="{Binding GroupList,
UpdateSourceTrigger=PropertyChanged}">
<ListView.ItemTemplate>
    <DataTemplate>
        <CheckBox Margin="2"
                  Content="{Binding Name}"
                  IsChecked="{Binding Source={StaticResource UserGroupDataProvider}}" />
    </DataTemplate>
</ListView.ItemTemplate>

很明显,我缺少了一些静态资源,但我不确定该怎么办


任何建议都将不胜感激。

好吧,经过一系列研究,我最终使用了一个值转换器。我是单向的,所以它只能转换,但不能转换回来——下面是我使用的代码

    <CheckBox.IsChecked>
        <MultiBinding Converter="{StaticResource CollectionToBoolConverter}" Mode="OneWay">
            <Binding Path="ID" />
            <Binding ElementName="Me" Path="User.GroupList" />
        </MultiBinding>
    </CheckBox.IsChecked>

其中ElementName=Me被指定为我正在使用的表单


希望这能帮助其他人。

创建一个适当的ViewModel,其中包含每个ListViewItem的相关数据,然后使用这些数据的集合。