3

我需要将一些 ComboBoxes 绑定到一个 ObservableCollection。我有这个ListView

<ListView x:Name="lwCoefTables" Grid.Column="1" ItemsSource="{Binding Source={StaticResource CollectionCoefContainers}}">
<ListView.ItemTemplate>
    <DataTemplate>
        <ComboBox x:Name="cmbCoefTableTypes" ItemsSource="{Binding Source={StaticResource CollectionCoefLinksTable}}"  
                SelectedItem="{Binding CoefLinksTableType, Mode=TwoWay}" Grid.Column="1" VerticalAlignment="Center" 
                HorizontalAlignment="Left" Width="180" DisplayMemberPath="Name">
        </ComboBox>
    </DataTemplate>
</ListView.ItemTemplate>

我想将我的集合绑定到所有 ComboBox 并为每个 ComboBox 保存选定的项目。如果我填充一个集合并将其绑定到 TwoWay 模式下的所有组合框,我会得到:

图片

我想我需要包含一些类似集合的辅助类。怎么做?

4

1 回答 1

3

所以我假设该CoefLinksTableType属性在里面的物品上CollectionCoefContainers

在这种情况下,这应该可以工作,除非您在内部重复了相同的实例CollectionCoefContainers

例如

像这样的事情会像你描述的那样表现。

var vm = new VM();
CollectionCoefContainers.Add(vm);
CollectionCoefContainers.Add(vm);
CollectionCoefContainers.Add(vm);
CollectionCoefContainers.Add(vm);

解决方案是

CollectionCoefContainers.Add(new VM());
CollectionCoefContainers.Add(new VM());
CollectionCoefContainers.Add(new VM());
CollectionCoefContainers.Add(new VM());

CollectionCoefContainers让您定义和可能很有用CollectionCoefLinksTable

于 2011-10-06T14:11:52.237 回答