Xaml 如何防止选中单选按钮后不选中?
我有这样一个枚举:Xaml 如何防止选中单选按钮后不选中?,xaml,enums,radio-button,Xaml,Enums,Radio Button,我有这样一个枚举: public enum DLTypeEnum { Others = 1, People = 2, Company = 4, } private DLTypeEnum _DLType; public DLTypeEnum DLType { get { return _DLType; } set { SetProperty(ref _DLType, value); } } 我的ViewModel中有如下属性: public enum DLTypeEnu
public enum DLTypeEnum
{
Others = 1, People = 2, Company = 4,
}
private DLTypeEnum _DLType;
public DLTypeEnum DLType
{
get { return _DLType; }
set { SetProperty(ref _DLType, value); }
}
我的ViewModel中有如下属性:
public enum DLTypeEnum
{
Others = 1, People = 2, Company = 4,
}
private DLTypeEnum _DLType;
public DLTypeEnum DLType
{
get { return _DLType; }
set { SetProperty(ref _DLType, value); }
}
这是我的xaml:
选中RadioButton后,我不希望取消选中它,除非它选择了另一个RadioButton,即必须始终选择一个RadioButton。请尝试以下代码:
<WrapPanel Grid.Row="3" Grid.Column="1">
<WrapPanel.Resources>
<Converter:EnumToBoolConverter x:Key="EnumToBooleanConverter" />
</WrapPanel.Resources>
<RadioButton GroupName="DLType" IsChecked="{Binding Path=DLType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static dlAccount:DLTypeEnum.Others}}" Unchecked="RadioButton_Unchecked"/>
<RadioButton GroupName="DLType" IsChecked="{Binding Path=DLType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static dlAccount:DLTypeEnum.People}}" Unchecked="RadioButton_Unchecked"/>
<RadioButton GroupName="DLType" IsChecked="{Binding Path=DLType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static dlAccount:DLTypeEnum.Company}}" Unchecked="RadioButton_Unchecked"/>
</WrapPanel>
除非我遗漏了什么,否则你只需要通过GroupName确定他们是一个组。我仍然有问题。
private void RadioButton_Unchecked(object sender, RoutedEventArgs e)
{
if((_viewModel.DLss.CurrentItem as DL).DLType == 0)
((RadioButton)sender).IsChecked = true;
}