【问题标题】:RadioButton cannot be selected if I add the IsChecked attribute on all my RadioButton elements如果我在所有 RadioButton 元素上添加 IsChecked 属性,则无法选择 RadioButton
【发布时间】:2014-02-25 05:03:26
【问题描述】:

我的 ListView 的每个行项上都有 2 个 RadioButton 元素。如果我将 IsChecked 属性放在我的 2 RadioButton 上,我的 WPF 应用程序不允许我在列表的每个行项上选择任何 RadioButton。我错过了什么?还是我做错了?请赐教。

<StackPanel>
<RadioButton Content="{Binding choice1}" GroupName="{Binding number}" x:Name="btn_radio1" IsChecked="{Binding IsRadioChecked}"></RadioButton>
<RadioButton Content="{Binding choice2}" GroupName="{Binding number}" x:Name="btn_radio2" IsChecked="{Binding IsRadioChecked}"></RadioButton>
</StackPanel>

【问题讨论】:

  • 您将两者绑定到相同的IsRadioChecked 属性,它们不能同时被选中
  • 我明白了。所以,我需要为我添加的每个 RadioButton 元素创建不同的属性,或者有没有办法只创建一个属性来检查我的 RadioButton 元素的所有值?
  • 这个或一个intenum 属性和转换器,如here
  • 感谢您对我的启发。我尝试创建 2 个属性来检查每个 RadioButton 的值并且它有效。我会尝试阅读您提供的链接。希望我能得到它。感谢您的帮助。

标签: c# wpf data-binding radio-button


【解决方案1】:

此代码将不起作用,因为具有相同组名的两个单选按钮绑定了相同的 IsRadioChecked 属性,因为一次只能检查一个单选按钮。如果您想同时检查两者,最好使用 CHECKBOX 控件

你应该使用两个不同的 IsRadioChecked 属性 IsRadioChecked1 和 IsRadioChecked2 以防复选框,否则两个复选框将具有相同的状态

如果您仍然想先使用单选按钮,您决定 IsRadioChecked 用于选择 1 或选择 2 如果它意味着choice1 从choice2 中删除IsChecked="{Binding IsRadioChecked}"

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 2011-08-27
    • 2011-06-16
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多