teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2018/10/15 09:17

投稿

gaya-K
gaya-K

スコア449

answer CHANGED
@@ -27,7 +27,7 @@
27
27
  1. ~~Button の PreviewMouseDown~~
28
28
  1. ~~Button の MouseDown~~
29
29
  1. Grid の MouseDown
30
- 1. ~~Window の MouseDown~~
30
+ 1. Window の MouseDown
31
31
 
32
32
  ###その2
33
33
  1. Window の PreviewMouseDown

2

追記

2018/10/15 09:17

投稿

gaya-K
gaya-K

スコア449

answer CHANGED
@@ -1,1 +1,38 @@
1
- 試してないのですが、 PreviewMouseLeftButtonDown なら補足できるかもしれません。
1
+ 試してないのですが、 PreviewMouseLeftButtonDown なら捕捉できるかもしれません。
2
+
3
+ ##追記
4
+ Preview*** について説明します。
5
+ 以下のような構造を例にします。
6
+
7
+ ```xml
8
+ <Window>
9
+ <Grid>
10
+ <Button>
11
+ ```
12
+
13
+ ここで Button 上でマウスダウンした場合、以下の順番でイベントが発生します。
14
+
15
+ 1. Window の PreviewMouseDown
16
+ 1. Grid の PreviewMouseDown
17
+ 1. Button の PreviewMouseDown
18
+ 1. Button の MouseDown
19
+ 1. Grid の MouseDown
20
+ 1. Window の MouseDown
21
+
22
+ しかし IsHandled を true にするとイベントの伝播を止めることができます。
23
+
24
+ ###その1
25
+ 1. Window の PreviewMouseDown
26
+ 1. Grid の PreviewMouseDown で `e.IsHandled = true;`
27
+ 1. ~~Button の PreviewMouseDown~~
28
+ 1. ~~Button の MouseDown~~
29
+ 1. Grid の MouseDown
30
+ 1. ~~Window の MouseDown~~
31
+
32
+ ###その2
33
+ 1. Window の PreviewMouseDown
34
+ 1. Grid の PreviewMouseDown
35
+ 1. Button の PreviewMouseDown
36
+ 1. Button の MouseDown
37
+ 1. Grid の MouseDown で `e.IsHandled = true;`
38
+ 1. ~~Window の MouseDown~~

1

修正

2018/10/15 09:16

投稿

gaya-K
gaya-K

スコア449

answer CHANGED
@@ -1,1 +1,1 @@
1
- 試してないのですが、 PreviewLeftButtonDown なら補足できるかもしれません。
1
+ 試してないのですが、 PreviewMouseLeftButtonDown なら補足できるかもしれません。