在C#中将XAML标记读取为字符串

本文关键字:读取 字符串 中将 XAML | 更新日期: 2024-07-27 17:28:31

我有很多按钮都有相同的点击事件,但我想知道哪个按钮实际上被点击了,而不需要为每个按钮编写单独的C#代码。如果我能在C#中把XAML标记作为字符串读取,我就能让它工作,但我不知道怎么做。有什么想法吗?谢谢

在C#中将XAML标记读取为字符串

private void Home_Click(object sender, RoutedEventArgs e)
    {
        var button = sender as RadioButton;
        if (button != null)
        {
            switch (button.Tag.ToString())
            {
                case "Home":
                    this.MyFrame.Navigate(typeof(Views.Home_Page));
                    break;
                case "Settings":
                    this.MyFrame.Navigate(typeof(Views.Settings_Page));
                    break;
            }
            Header.Text = button.Tag.ToString();
        }
    }

更多选项

为什么不将发送方强制转换为Button,然后再强制转换按钮。标记为字符串?

Button _sender = sender as Button;
string tag = _sender.Tag as string;

然后你当然可以在标签值上进行切换,以知道哪个按钮是发送者。