WPF 绑定到选定的单选按钮

本文关键字:单选按钮 绑定 WPF | 更新日期: 2023-09-27 17:55:35

>我有一个单选按钮组:

 <RadioButton Name="_CreateGraph" GroupName="MapOrGraph" Content="Create Graph" />
 <RadioButton Name="_CreateMap"   GroupName="MapOrGraph" Content="Create Map"   />

如何将标签的内容绑定到所选单选按钮的内容?

例如,标签应该说创建图形或创建地图,具体取决于创建的单选框?

WPF 绑定到选定的单选按钮

<Label Content="{Binding SelectedValue.Content, ElementName=list}"  />
<ListBox x:Name="list" SelectedIndex="1"  >
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBoxItem" >
                        <RadioButton GroupName="a" Content="{TemplateBinding Content}" IsChecked="{Binding IsSelected, RelativeSource={RelativeSource TemplatedParent}  }"  />
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBoxItem>Create Graph</ListBoxItem>
    <ListBoxItem>Create Map</ListBoxItem>
</ListBox>

我想你可以让它比我做的更短。

如果你只有兩個RadioButtons,這是一個快速而骯髒的解決方案:

    <Label>
        <Label.Style>
            <Style TargetType="{x:Type Label}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=_CreateGraph}" Value="True">
                        <Setter Property="Content" Value="{Binding Content, ElementName=_CreateGraph}" />
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=_CreateMap}" Value="True">
                        <Setter Property="Content" Value="{Binding Content, ElementName=_CreateMap}" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Label.Style>
    </Label>