【WPF】-RadioButton-数据绑定!!! 多选一,采用一组RadioButton 组A, 该组RadioButton的选择结果会影响另外一组控件族,组B!怎么样通过数据绑定将enum变量(Va)与组A项关联,然后,组B会根据Va自动生成界面!或者还有什么符合WPF数据驱动理念的方式实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是数量固定的很好办,设计时如果可以确定按钮的数量,那么只需要写一个IValueConverter,负责把按钮是否选中和其所对应的值进行一个转换就可以了,这样当值改变的时候,选中状态也会变。如果数量不固定就很难办了。因为在设计时没法确定每一个按钮对应的值,这样IValueConverter就没法确认参与比较的参数。可以考虑给按钮加一个附加属性,这个属性用来存按钮对应的值,然后写一个IMultiValueConverter,完成bool值与枚举值转换的工作 所有组的控件数量一定!你是说用新的IValueConverter类,把RadioButton的IsChecked属性与标记选中的变量Va进行绑定? 如果是事件驱动的方式:就给每一个Radiobutton添加 Checked 事件处理函数,然后再该函数里面设置相关变量和改变对应的布局 to wddw1986:正在研究相关的实例,有不懂再跟帖询问!非常感谢! to wddw1986:其实,我是想用一组radiobutton来模仿Blend的左边工具栏 的功能, 选择并记忆选中状态。如果我有一个enum 只有两个或者三个值,那么我可以和radiobutton的 IsChecked 属性的true 、fals 或者加一个null 状态进行IValueConverter转换。但当我想通过IsChecked 的状态来判断我选择了这一组按钮中的哪一个的时候,这种方法就不行了吧?是不是我的方法有问题,我应该用其它的控件来实现这个功能? 还想着通过IsChecked来判断状态说明你还是没真正明白什么是数据,什么是UI,你关心的是那个枚举当前的值,那就是当前的状态,至于哪个radiobutton被选中根本就没有意义,如果哪天UI控件换了,难道你的判断逻辑还要换吗? <RadioButton IsChecked="{Wizard:ControlBinding MyFlag, Converter={Common:ConverterValue2Bool}, ConverterParameter='A'}" /><RadioButton IsChecked="{Wizard:ControlBinding MyFlag, Converter={Common:ConverterValue2Bool}, ConverterParameter='B'}" />这样你明白了吗? 求助!模拟鼠标点击!能后台的那种! C#序列化里可以做判断吗?怎样做? 关于DomainUpDown的问题 在XSLT中可否实现多条件组合查询,比如C#if(a>3&&a>5) 关于WinForm dataGrid 的问题 为什么不能连接数据库??? 关于DataGridViewTextBoxColumn输入密码的问题 求教一个问题 如何让CLICK事件处理rightclick事件? 总算装完了 Visual Studio.net 7.0 Beta-2 !!!!累死我了 c# 调用c dll时有关LPCTSTR类型的问题 关于zedGraph动态显示的问题
如果数量不固定就很难办了。因为在设计时没法确定每一个按钮对应的值,这样IValueConverter就没法确认参与比较的参数。可以考虑给按钮加一个附加属性,这个属性用来存按钮对应的值,然后写一个IMultiValueConverter,完成bool值与枚举值转换的工作
所有组的控件数量一定!你是说用新的IValueConverter类,把RadioButton的IsChecked属性与标记选中的变量Va进行绑定?
就给每一个Radiobutton添加 Checked 事件处理函数,然后再该函数里面设置相关变量和改变对应的布局
其实,我是想用一组radiobutton来模仿Blend的左边工具栏 的功能, 选择并记忆选中状态。如果我有一个enum 只有两个或者三个值,那么我可以和radiobutton的 IsChecked 属性的true 、fals 或者加一个null 状态进行IValueConverter转换。但当我想通过IsChecked 的状态来判断我选择了这一组按钮中的哪一个的时候,这种方法就不行了吧?是不是我的方法有问题,我应该用其它的控件来实现这个功能?
还想着通过IsChecked来判断状态说明你还是没真正明白什么是数据,什么是UI,你关心的是那个枚举当前的值,那就是当前的状态,至于哪个radiobutton被选中根本就没有意义,如果哪天UI控件换了,难道你的判断逻辑还要换吗?
<RadioButton IsChecked="{Wizard:ControlBinding MyFlag, Converter={Common:ConverterValue2Bool}, ConverterParameter='B'}" />这样你明白了吗?