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>
相关推荐
寂寞旅行几秒前
IDEA 中使用 claude code 插件
java·ide·intellij-idea
w***76552 分钟前
PHP vs Python:如何选择?
开发语言·python·php
e***98574 分钟前
PHP8.4重磅更新:性能飙升新特性
开发语言
艾莉丝努力练剑5 分钟前
【QT】Qt 从零上手:Hello World、项目文件与实战避坑指南
linux·运维·开发语言·c++·qt·继承·qt5
Remember_9935 分钟前
Java 入门指南:从零开始掌握核心语法与编程思想
java·c语言·开发语言·ide·python·leetcode·eclipse
sheji34165 分钟前
【开题答辩全过程】以 基于Python的街区医院管理系统的设计与实现为例,包含答辩的问题和答案
开发语言·python
野犬寒鸦5 分钟前
从零起步学习RabbitMQ || 第四章:RabbitMQ的延迟消息在项目中的运用及实现剖析
java·服务器·数据库·后端·mysql·rabbitmq
jiayong235 分钟前
Tomcat连接器与协议处理面试题
java·tomcat
C_心欲无痕6 分钟前
Next.js 的哲学思想
开发语言·前端·javascript·ecmascript·nextjs
a程序小傲9 分钟前
哈罗Java面试被问:布隆过滤器的误判率和哈希函数选择
java·服务器·算法·面试·职场和发展·哈希算法