WPF RadioButton 绑定Int值

csharp 复制代码
public class FlowModeToBoolConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (parameter is string paramString && int.TryParse(paramString, out int paramInt))
        {
            return value is int selectedValue && selectedValue == paramInt;
        }
        return false;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is bool isChecked && isChecked && parameter is string paramString && int.TryParse(paramString, out int paramInt))
        {
            return paramInt;
        }
        return -1; // 或者根据需要返回其他默认值
    }
}
xml 复制代码
<hc:ButtonGroup Width="460" Margin="10,0">
    <RadioButton Content="1" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=0}" />
    <RadioButton Content="2" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=1}" />
    <RadioButton Content="3" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=2}" />
    <RadioButton Content="1" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=3}" />
    <RadioButton Content="2" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=4}" />
    <RadioButton Content="3" IsChecked="{Binding FlowMode, Converter={StaticResource FlowModeToBoolConverter}, ConverterParameter=5}" />
</hc:ButtonGroup>
相关推荐
谷哥的小弟6 分钟前
Spring Framework源码解析——ApplicationContextInitializer
java·spring·源码
羸弱的穷酸书生6 分钟前
国网 i1协议 python实现
开发语言·python
电子硬件笔记8 分钟前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌8 分钟前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#
cooldream200913 分钟前
当代 C++ 的三大技术支柱:资源管理、泛型编程与模块化体系的成熟演进
开发语言·c++
while(1){yan}19 分钟前
网络基础知识
java·网络·青少年编程·面试·电脑常识
Ulana23 分钟前
计算机基础10大高频考题解析
java·人工智能·算法
洲星河ZXH29 分钟前
Java,集合框架体系
开发语言·windows
黄俊懿30 分钟前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——@GlobalTransactional注解与@globalLock生效的原理
java·spring cloud·微服务·云原生·架构·系统架构·架构师
宠..35 分钟前
写一个感染型病毒
开发语言·安全·安全性测试