У меня есть просмотр списка в WPF, который содержит наблюдаемую коллекцию объектов.Объекты представляют собой простые прямоугольные блоки, содержащие набор переключателей:
![List Object example](https://i.stack.imgur.com/iUgFi.png)
Два набора переключателей можно разделить, установив «GroupName» вxaml в GroupName="Numbers"
или GroupName="Letters"
- EDIT-- В соответствии с запросом, вот код в MyObject для радиокнопок:
<RadioButton Grid.Column="1" Grid.Row="1" GroupName="Numbers" IsChecked="{Binding IsOne, Mode=TwoWay}" />
<RadioButton Grid.Column="2" Grid.Row="1" GroupName="Numbers" IsChecked="{Binding IsOne, Converter={StaticResource NegateBoolConverter}, Mode=TwoWay}" />
<RadioButton Grid.Column="1" Grid.Row="2" GroupName="Letters" IsChecked="{Binding IsA, Mode=TwoWay}" />
<RadioButton Grid.Column="2" Grid.Row="2" GroupName="Letters" IsChecked="{Binding IsA, Converter={StaticResource NegateBoolConverter}, Mode=TwoWay}" />
Преобразователь отрицательных значений bool просто возвращает обратное значениезначения bool.
- End Edit -
Проблема возникает, когда у меня есть список двух из этих объектов в моем виде списка.Например, для первого объекта (объекта 1) выбраны «Один» и «А».Если я затем выберу «B» в объекте 2, выбор попытается измениться и для объекта 1 (что все испортило). Вот пример того, чего я надеюсь достичь:
![Multiple list objects with different selections](https://i.stack.imgur.com/Lc6Ji.png)
Кто-нибудь видел такое поведение?На winforms это исправлено путем установки нового BindingContext для каждого элемента, но я не знаю, то же самое ли это в WPF.
Я работаю в полностью MVVM-среде, вот код для просмотра списка:
<ListView Name="ObjectsListView" ItemsSource="{Binding MyObjectList}" SelectedItem="{Binding SelectedObject, Mode=TwoWay}">
<ListView.ItemTemplate>
<DataTemplate>
<ContentControl>
<local:MyObject DataContext="{Binding}"/>
</ContentControl>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Может, кто-нибудь подскажет, как добиться отдельного поведения в элементах моего списка?
Заранее спасибо.