WPF多个按钮,相同的点击功能,但不同的参数

本文关键字:功能 参数 WPF 按钮 | 更新日期: 2023-09-27 18:11:27

我想让几个按钮具有相同的单击功能,但不同的参数。这样的

XAML:

<Button Click="MyClickFunction(1)" Content="MyFunc(1)"/>
<Button Click="MyClickFunction(2)" Content="MyFunc(2)"/>
<Button Click="MyClickFunction(3)" Content="MyFunc(3)"/>
<Button Click="MyClickFunction(4)" Content="MyFunc(4)"/>
c#:

private void MyClickFunction(object sender, RoutedEventArgs e, int myParam)
{
    //do something with parameter e.g. MessageBox.Show()
    MessageBox.Show(myParam.ToString());
}

我如何传递参数在xaml标签或我将不得不做它的其他方式?

WPF多个按钮,相同的点击功能,但不同的参数

在按钮中使用Tag属性。这样的:

<Button Click="MyClickFunction" Tag="1" Content="MyFunc(1)"/>
<Button Click="MyClickFunction" Tag="2" Content="MyFunc(2)"/>
<Button Click="MyClickFunction" Tag="3" Content="MyFunc(3)"/>
<Button Click="MyClickFunction" Tag="4" Content="MyFunc(4)"/>

后面的代码:

private void MyClickFunction(object sender, RoutedEventArgs e)
{
    var tag = ((Button)sender).Tag;
    MessageBox.Show(tag.ToString());
}