使用wpf在单个按钮中进行两次单独的单击事件

时间:2016-07-14 08:17:45

标签: wpf

按钮控制模板

<ControlTemplate x:Key="status">
        <StackPanel Orientation="Horizontal" Width="60" Height="60"  Background="#8eb548">
            <Button Content="Ad" Width="20" Height="40" Margin="7 0 0 0" Click="btn1_click"/>
            <Button Content="Ch" Width="20" Height="40" Margin="5 0 0 0" Click="btn2_click"/>
        </StackPanel>
</ControlTemplate>

按钮

<Button Template="{StaticResource status}" Width="60" Height="60"/> 

我想在单个按钮中进行两个不同的按钮点击事件。这就是为什么我使用两个按钮作为我的按钮控制模板。这是正确的方法吗?或者还有其他方式吗?

1 个答案:

答案 0 :(得分:0)

只需一个按钮并将其绑定到命令即可。根据您的意愿更改命令参数。也许您希望在按钮内容为Ch时发生1个功能,并在按钮内容为Ad时发生其他功能。因此,将按钮作为命令参数传递。您甚至可以将按钮内容作为命令参数传递。

<Button Content="{Binding BtnContent}" Width="20" Height="40" Margin="5 0 0 0" Command={Binding BtnClick} CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Content}" />

对于xaml: 您只需检查按钮内容并运行2个功能即可。 例如:

if(btn1.Content == "Ch")
{
    //Do functionality for Ch
}
else if(btn1.Content == "Ad")
{
    //Do functionality for Ad
}