获取组中的选定单选按钮(WPF)

我的程序中有一个ItemsControl ,其中包含单选按钮列表。

          

如何以MVVM方式在“ Insertions组中找到所选单选按钮?

我在互联网上找到的大多数例子都涉及在转换器的帮助下设置绑定IsChecked属性的各个布尔属性。

是否有我可以绑定的ListBox SelectedItem的等价物?

想到的一个解决方案是向Insertion实体添加一个IsChecked布尔属性,并将其绑定到Radio按钮的`IsChecked’属性。 这样,您可以在View Model中查看“Checked”单选按钮。

这是一个快速而肮脏的例子。

注意:我忽略了IsChecked也可以为null的事实,你可以使用bool?来处理它bool? 如果需要。

简单的ViewModel

 using System; using System.Collections.Generic; using System.Collections.ObjectModel; namespace WpfRadioButtonListControlTest { class MainViewModel { public ObservableCollection Insertions { get; set; } public MainViewModel() { Insertions = new ObservableCollection(); Insertions.Add(new Insertion() { Text = "Item 1" }); Insertions.Add(new Insertion() { Text = "Item 2", IsChecked=true }); Insertions.Add(new Insertion() { Text = "Item 3" }); Insertions.Add(new Insertion() { Text = "Item 4" }); } } class Insertion { public string Text { get; set; } public bool IsChecked { get; set; } } } 

XAML – 后面的代码没有显示,因为它没有生成代码以外的代码。