将组 2 中的一个单选按钮的内容与组 1 中选定的单选按钮绑定

Posted

技术标签:

【中文标题】将组 2 中的一个单选按钮的内容与组 1 中选定的单选按钮绑定【英文标题】:Binding content of one Radio button in group 2 with selected radio button in group 1 【发布时间】:2014-06-26 12:23:52 【问题描述】:

我的 WPF xaml 中有两组单选按钮。

<StackPanel Margin="5,-4,0,5">
 <RadioButton Content="abc" GroupName="grp1" IsChecked="true" Margin=" 8,-4,8,5"/>
 <RadioButton Content="def" GroupName="grp1" IsChecked="false" Margin=" 8,-4,8,5"/>
</StackPanel>


<StackPanel Margin="5,-4,0,5">
 <RadioButton Content="Binding ElementName" GroupName="grp2" IsChecked="true" Margin=" 8,-4,8,5"/>
 <RadioButton Content="xyz" GroupName="grp2" IsChecked="false" Margin=" 8,-4,8,5"/>                         
</StackPanel>

我想将 grp2 单选按钮的内容与 grp1 单选按钮中的 SelectedName 绑定。 例如:如果在 grp1 中选择了 abc 单选按钮,则第一个单选按钮的名称应为 Value_*,其中 * 是 abc 或 def,具体取决于所选单选按钮。

谢谢, 罗希特。

【问题讨论】:

【参考方案1】:

将两者绑定到 ViewModel 中的 DependencyProperty。

【讨论】:

【参考方案2】:

你的意思是这样的吗?

<StackPanel Margin="5,-4,0,5">
        <RadioButton Content="abc" GroupName="grp1" x:Name="AbcRadioBtn" IsChecked="true" Margin=" 8,-4,8,5"/>
        <RadioButton Content="def" GroupName="grp1" x:Name="DefRadioBtn" IsChecked="false" Margin=" 8,-4,8,5"/>
</StackPanel>
<StackPanel Margin="5,-4,0,5">
        <RadioButton GroupName="grp2" IsChecked="true" Margin=" 8,-4,8,5">
            <RadioButton.Style>
                <Style TargetType="RadioButton">
                    <Style.Triggers>
                        <DataTrigger Binding="Binding ElementName=AbcRadioBtn, Path=IsChecked" Value="True
                                     ">
                            <Setter Property="Content" Value="Binding ElementName=AbcRadioBtn,Path=Content"></Setter>
                        </DataTrigger>

                        <DataTrigger Binding="Binding ElementName=DefRadioBtn, Path=IsChecked" Value="True">
                            <Setter Property="Content" Value="Binding ElementName=DefRadioBtn,Path=Content"></Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </RadioButton.Style>
        </RadioButton>
        <RadioButton Content="xyz" GroupName="grp2" IsChecked="false" Margin=" 8,-4,8,5"/>
</StackPanel>

【讨论】:

以上是关于将组 2 中的一个单选按钮的内容与组 1 中选定的单选按钮绑定的主要内容,如果未能解决你的问题,请参考以下文章

合成:如何根据单选按钮中的选定选项动态更改画布新图纸?

Django:在视图中使用选定的单选按钮的值来更新数据库中的值

仅从选定的单选按钮选项提交表单数据

如何在 ReactJS 中更改单选按钮时重置选定的下拉列表

从 Django 的一页中获取选定单选按钮的值

Python Tkinter 中的单选按钮值