回答編集履歴

3

修正

2018/10/15 09:17

投稿

gaya-K
gaya-K

スコア449

test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  1. Grid の MouseDown
58
58
 
59
- 1. ~~Window の MouseDown~~
59
+ 1. Window の MouseDown
60
60
 
61
61
 
62
62
 

2

追記

2018/10/15 09:17

投稿

gaya-K
gaya-K

スコア449

test CHANGED
@@ -1 +1,75 @@
1
- 試してないのですが、 PreviewMouseLeftButtonDown なら補足できるかもしれません。
1
+ 試してないのですが、 PreviewMouseLeftButtonDown なら捕捉できるかもしれません。
2
+
3
+
4
+
5
+ ##追記
6
+
7
+ Preview*** について説明します。
8
+
9
+ 以下のような構造を例にします。
10
+
11
+
12
+
13
+ ```xml
14
+
15
+ <Window>
16
+
17
+ <Grid>
18
+
19
+ <Button>
20
+
21
+ ```
22
+
23
+
24
+
25
+ ここで Button 上でマウスダウンした場合、以下の順番でイベントが発生します。
26
+
27
+
28
+
29
+ 1. Window の PreviewMouseDown
30
+
31
+ 1. Grid の PreviewMouseDown
32
+
33
+ 1. Button の PreviewMouseDown
34
+
35
+ 1. Button の MouseDown
36
+
37
+ 1. Grid の MouseDown
38
+
39
+ 1. Window の MouseDown
40
+
41
+
42
+
43
+ しかし IsHandled を true にするとイベントの伝播を止めることができます。
44
+
45
+
46
+
47
+ ###その1
48
+
49
+ 1. Window の PreviewMouseDown
50
+
51
+ 1. Grid の PreviewMouseDown で `e.IsHandled = true;`
52
+
53
+ 1. ~~Button の PreviewMouseDown~~
54
+
55
+ 1. ~~Button の MouseDown~~
56
+
57
+ 1. Grid の MouseDown
58
+
59
+ 1. ~~Window の MouseDown~~
60
+
61
+
62
+
63
+ ###その2
64
+
65
+ 1. Window の PreviewMouseDown
66
+
67
+ 1. Grid の PreviewMouseDown
68
+
69
+ 1. Button の PreviewMouseDown
70
+
71
+ 1. Button の MouseDown
72
+
73
+ 1. Grid の MouseDown で `e.IsHandled = true;`
74
+
75
+ 1. ~~Window の MouseDown~~

1

修正

2018/10/15 09:16

投稿

gaya-K
gaya-K

スコア449

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