【问题标题】:click event of a button that contains more buttons, fires events wrong包含更多按钮的按钮的单击事件,触发事件错误
【发布时间】:2012-01-25 06:56:26
【问题描述】:

我正面临这个问题: 我有一个使用“模板”属性的按钮,其工作原理类似于 WrapPanel

Template="{StaticResource WrapLikeTemplate}"

其中“WrapLikeTemplate如下:

<ControlTemplate x:Key="WrapLikeTemplate">            
            <WrapPanel Name="wpBody" Orientation="Horizontal" Margin="0,5,0,0">                   
                <Button Content="{Binding XPath=./BUTTONS/Button[1]/Text}" Click="b1_Click" Height="55" Name="b1" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[2]/Text}" Click="b2_Click" Height="55" Name="b2" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[3]/Text}" Click="b3_Click" Height="55" Name="b3" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[4]/Text}" Click="b4_Click" Height="55" Name="b4" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[5]/Text}" Click="b5_Click" Height="55" Name="b5" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[6]/Text}" Click="b6_Click" Height="55" Name="b6" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[7]/Text}" Click="b7_Click" Height="55" Name="b7" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[8]/Text}" Click="b8_Click" Height="55" Name="b8" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[9]/Text}" Click="b9_Click" Height="55" Name="b9" Width="157" Margin="65,10" />
                <Button Content="{Binding XPath=./BUTTONS/Button[10]/Text}" Click="b10_Click" Height="55" Name="b10" Width="157" Margin="65,10" />                    
            </WrapPanel>            
    </ControlTemplate>

所以,如果我点击一个按钮,它会首先触发其点击事件,然后触发其父级的点击事件;我的意思是包含它的按钮(带有 WrapPanel 模板的那个)。

我需要的是当一个按钮被按下时,执行它的点击事件,只是这个,而不是它的父级的点击事件。

提前致谢!!

【问题讨论】:

    标签: c# .net wpf button click


    【解决方案1】:

    在事件处理程序中:

    private void b1_Click(object sender, RoutedEventArgs e)
    {
        e.Handled = true;
    }
    

    应该可以。

    编辑:我试过了。它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 2010-10-21
      • 2013-01-17
      • 2012-03-14
      相关资源
      最近更新 更多