アンド WPF マウス左ボタンアップが起動しない




events button (2)

WPFでの奇妙な出来事...私がMouseUpにイベントを設定すると、ボタンを右クリックするとイベントが発生することがあります。 しかし、これはいずれかのクリックで起動しません!

               <Button MouseLeftButtonUp="btnNewConfig_MouseUp"  Name="btnNewConfig">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="Icons\new.ico" Height="24" Width="24" Margin="5"/>
                        <TextBlock VerticalAlignment="Center">New</TextBlock>
                    </StackPanel>
                </Button>

私はこれが最も単純な何かであることを知っています。 助けてくれてありがとう!


Answer #1

Buttonは、Button.Clickイベントに対してMouseLeft / RightButtonUp / Downイベントを使用しています( "Handled"としてマークしています)。

Jobiが述べたように、PreviewMouseLeftButtonUpイベントを使用することができますが、独自のボタンテンプレートを作成し、その動作を変更することをお勧めします。 (つまり、MouseLeftButtonUpをHandled = trueとマークしないでください)、または単にボタン以外のものを親コンテナとして使用してください。 (あなたが本当に必要なものに依存します)。


Answer #2

Buttonコントロールは、実際にはLeftButtonDownイベントとLeftButtonUpイベントの組み合わせであるため、そのイベントを食べているようです。

しかし、ButtonのTunnelledイベントPreviewMouseLeftButtonUpを購読して、LeftButtonUpを取得することができます