处理“已检查”事件的最佳方法是什么?

时间:2017-05-19 13:34:00

标签: c# wpf xaml

我有一组radiobuttons(约20个)放在不同的扩展器中。

 <StackPanel>
    <Expander>
        <Expander.Header>
            <TextBlock>Expander1</TextBlock>
        </Expander.Header>
        <StackPanel>
            <RadioButton GroupName="G" x:Name="RadioButton1">Radiobutton1</RadioButton>
            <RadioButton GroupName="G" x:Name="RadioButton2">Radiobutton2</RadioButton>
        </StackPanel>
    </Expander>
    <Expander>
        <Expander.Header>
            <TextBlock>Expander2</TextBlock>
        </Expander.Header>
        <StackPanel>
            <RadioButton GroupName="G" x:Name="RadioButton3">Radiobutton3</RadioButton>
            <RadioButton GroupName="G" x:Name="RadioButton4">Radiobutton4</RadioButton>
        </StackPanel>
    </Expander>
    <!-- ... -->
</StackPanel>

我在不同的xaml文件和MainWindow.xaml中有用户控件。根据检查的单选按钮,需要将特定用户控件添加到主窗口。 处理这20个无线电按钮的“已检查”事件的最佳方法是什么?如何知道检查哪个单选按钮?

1 个答案:

答案 0 :(得分:0)

使用Checked事件。

每个RadioButton都可以拥有自己的Checked事件处理程序,或者如果它们共享一个公共处理程序,那么你可以使用第一个参数(发送者对象),如下所示:

private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
    RadioButton yourControl = sender as RadioButton;
}