WPF RadioButton 绑定值教程:实现单选功能
WPF 中给 RadioButton 添加绑定值可以使用 RadioButton 的 GroupName 和 IsChecked 属性,以及绑定的数据模型属性。
首先,在 XAML 中定义多个 RadioButton,并为它们指定相同的 GroupName:
<StackPanel>
<RadioButton Content='选项1' GroupName='MyGroup' IsChecked='{Binding IsOption1Selected}' />
<RadioButton Content='选项2' GroupName='MyGroup' IsChecked='{Binding IsOption2Selected}' />
<RadioButton Content='选项3' GroupName='MyGroup' IsChecked='{Binding IsOption3Selected}' />
</StackPanel>
然后,定义一个数据模型类,包含三个布尔类型的属性,分别对应三个 RadioButton 的选中状态:
public class MyDataModel : INotifyPropertyChanged
{
private bool _isOption1Selected;
public bool IsOption1Selected
{
get { return _isOption1Selected; }
set
{
_isOption1Selected = value;
OnPropertyChanged("IsOption1Selected");
}
}
private bool _isOption2Selected;
public bool IsOption2Selected
{
get { return _isOption2Selected; }
set
{
_isOption2Selected = value;
OnPropertyChanged("IsOption2Selected");
}
}
private bool _isOption3Selected;
public bool IsOption3Selected
{
get { return _isOption3Selected; }
set
{
_isOption3Selected = value;
OnPropertyChanged("IsOption3Selected");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
最后,在窗口的代码中创建一个 MyDataModel 的实例,并将其设置为窗口的 DataContext:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MyDataModel();
}
}
这样,当用户选择 RadioButton 时,对应的数据模型属性的值也会随之改变。可以在数据模型类中添加其他属性和方法,以处理 RadioButton 的选择操作。
原文地址: https://www.cveoy.top/t/topic/mNGq 著作权归作者所有。请勿转载和采集!