WPF如何知道多个按钮之间按下的当前按钮

Kil*_*ish 5 wpf button

我有多个按钮,内容1,2,3,4,5 ......就像这样.所有按钮在Click事件上使用相同的功能.

<Button Content="1" Height="30" Name="button1" Width="30" Click="calculate"/>
<Button Content="2" Height="30" Name="button2" Width="30" Click="calculate"/>
<Button Content="3" Height="30" Name="button3" Width="30" Click="calculate"/>
<Button Content="4" Height="30" Name="button4" Width="30" Click="calculate"/>
<Button Content="5" Height="30" Name="button5" Width="30" Click="calculate"/>
Run Code Online (Sandbox Code Playgroud)

我怎么知道计算功能中按哪个按钮?我想从按下的按钮获取内容.

private void calculate(object sender, RoutedEventArgs e)
        {

        }
Run Code Online (Sandbox Code Playgroud)

谢谢.

Roh*_*ats 16

您可以在函数中使用此属性获取内容属性 -

string content = (sender as Button).Content.ToString();
Run Code Online (Sandbox Code Playgroud)


erg*_*ack 5

如果您在 XAML 中为按钮放置Namex:Name属性,则可以使用本机 object.Equals() 而无需强制转换或取消引用。这也可以防止您不得不重复编辑代码,并且可能会在Content更改控件的时候忘记在两个地方进行编辑。

给定的

<Button Name="btnOne" ... />
<Button Name="btnTwo" ... />
Run Code Online (Sandbox Code Playgroud)

然后

if (sender.Equals(btnOne)) {...}
if (sender.Equals(btnTwo)) {...}
Run Code Online (Sandbox Code Playgroud)