WPF RadioButton MVVM模式
程序员文章站
2022-07-13 22:23:22
...
xaml界面
<RadioButton Content="个人提成"
IsChecked="{Binding Path=objectType, Mode=TwoWay, Converter={StaticResource StatusConvert}, ConverterParameter=1}" Checked="ToggleButton_OnChecked"
GroupName="GroupObjectType" />
<RadioButton Content="管理提成"
IsChecked="{Binding Path=objectType, Mode=TwoWay, Converter={StaticResource StatusConvert}, ConverterParameter=2}" Checked="ToggleButton_OnChecked"
GroupName="GroupObjectType" />
Convert代码:
public class RadioButtonConvertHelper: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//value是radio接到binding變數的值後,來呼叫converter
//converter負責判定接到的值是代表true還是false
if (value == null || parameter == null)
return false;
string checkvalue = value.ToString();
string targetvalue = parameter.ToString();
bool r = checkvalue.Equals(targetvalue,
StringComparison.InvariantCultureIgnoreCase);
return r;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//value 是目前 radiobutton 的 true/false
//在這裡把 parameter 傳回 View-Model
if (value == null || parameter == null)
return null;
bool usevalue = (bool) value;
if (usevalue)
return parameter.ToString();
return null;
}
}
RadioButton 的checked事件是我自己的,如果没有用到,可以去掉。
上一篇: WPF MVVM 绑定模式下 界面刷新
下一篇: bootargs&bootcmd