回答編集履歴

3

見直しキャンペーン中

2023/07/17 05:37

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -1,7 +1,7 @@
1
1
  > Button問わず、すべての場所でButtonとは違うイベントを発生させたいのでCanvasControlがButtonを覆う事が必要と考えました。
2
2
 
3
3
  なるほどボタンあるなしにかかわらず、イベントがほしいわけですね。
4
- では`PreviewMouseDown`はどうでしょうか。Clickより先に来てしまうのが難点ですが。
4
+ では`PreviewMouseDown`はどうでしょうか。`Click`より先に来てしまうのが難点ですが。
5
5
  ```xml
6
6
  <Window
7
7
  x:Class="Questions225607.MainWindow"

2

見直しキャンペーン中

2023/07/17 05:37

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -1,101 +1,51 @@
1
1
  > Button問わず、すべての場所でButtonとは違うイベントを発生させたいのでCanvasControlがButtonを覆う事が必要と考えました。
2
2
 
3
-
4
-
5
3
  なるほどボタンあるなしにかかわらず、イベントがほしいわけですね。
6
-
7
4
  では`PreviewMouseDown`はどうでしょうか。Clickより先に来てしまうのが難点ですが。
8
-
9
- ```xaml
5
+ ```xml
10
-
11
6
  <Window
12
-
13
7
  x:Class="Questions225607.MainWindow"
14
-
15
8
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
16
-
17
9
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
18
-
19
10
  Width="800"
20
-
21
11
  Height="450">
22
-
23
12
  <Grid Background="#01FFFFFF" PreviewMouseDown="grid1_PreviewMouseDown">
24
-
25
13
  <Button
26
-
27
14
  x:Name="button1"
28
-
29
15
  Width="75"
30
-
31
16
  Margin="34,27,0,0"
32
-
33
17
  HorizontalAlignment="Left"
34
-
35
18
  VerticalAlignment="Top"
36
-
37
19
  Click="button1_Click"
38
-
39
20
  Content="Button" />
40
-
41
21
  <Button
42
-
43
22
  x:Name="button2"
44
-
45
23
  Width="75"
46
-
47
24
  Margin="134,27,0,0"
48
-
49
25
  HorizontalAlignment="Left"
50
-
51
26
  VerticalAlignment="Top"
52
-
53
27
  Click="button2_Click"
54
-
55
28
  Content="Button" />
56
-
57
29
  </Grid>
58
-
59
30
  </Window>
60
-
61
31
  ```
62
-
63
32
  ```cs
64
-
65
33
  using System.Diagnostics;
66
-
67
34
  using System.Windows;
68
-
69
35
  using System.Windows.Input;
70
36
 
71
-
72
-
73
37
  namespace Questions225607
74
-
75
38
  {
76
-
77
39
  public partial class MainWindow : Window
78
-
79
40
  {
80
-
81
41
  public MainWindow() => InitializeComponent();
82
42
 
83
-
84
-
85
43
  private void grid1_PreviewMouseDown(object sender, MouseButtonEventArgs e)
86
-
87
44
  => Debug.WriteLine($"grid1_PreviewMouseDown:{e.GetPosition(this)}");
88
-
89
45
  private void button1_Click(object sender, RoutedEventArgs e)
90
-
91
46
  => Debug.WriteLine("button1_Click");
92
-
93
47
  private void button2_Click(object sender, RoutedEventArgs e)
94
-
95
48
  => Debug.WriteLine("button2_Click");
96
-
97
49
  }
98
-
99
50
  }
100
-
101
51
  ```

1

e

2019/11/27 00:35

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  private void grid1_PreviewMouseDown(object sender, MouseButtonEventArgs e)
86
86
 
87
- => Debug.WriteLine($"grid1_PreviewMouseDown:{Mouse.GetPosition(this)}");
87
+ => Debug.WriteLine($"grid1_PreviewMouseDown:{e.GetPosition(this)}");
88
88
 
89
89
  private void button1_Click(object sender, RoutedEventArgs e)
90
90