10

次の問題があります。

2 つのラベルを互いに結合したとき:

<Label x:Name="First" MouseUp="Label_MouseUp">
    <Label x:Name="Second" MouseUp="Label_MouseUp_1">This is a label into another label</Label>
</Label>

そして、次のコード:

private void Label_MouseUp(object sender, MouseButtonEventArgs e)
{
    Console.WriteLine("Do NOT show me");
}

private void Label_MouseUp_1(object sender, MouseButtonEventArgs e)
{
    Console.WriteLine("Show me");
}

「2番目」をクリックすると、「Label_MouseUp_1」のみをトリガーしたい。しかし、私のコンソールでは次のようになります:

見せて
見せないで

バブリングイベントをオフにする方法はありますか?

(また、「最初」はクリック可能でなければならないので、そこでイベントを削除しても問題は解決しません)

thnx

4

1 に答える 1

24

目の前にドキュメントはありませんが、MouseButtonEventArgs オブジェクトを Handled としてマークすると、イベントがチェーンを上がらなくなると思います。

次のように単純にする必要があります

e.Handled = true;

私がこれについて間違っている場合は、誰かが私を修正してください。

于 2010-03-23T07:56:10.890 に答える