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

回答編集履歴

2

DropDown後の再タッチでDropDownが閉じない不具合を修正

2017/01/30 06:17

投稿

mikupedia
mikupedia

スコア159

answer CHANGED
@@ -12,6 +12,7 @@
12
12
  Protected Overrides Sub OnAttached()
13
13
  MyBase.OnAttached()
14
14
  AddHandler AssociatedObject.Loaded, AddressOf AssociatedObject_Loaded
15
+ AddHandler AssociatedObject.TouchDown, AddressOf AssociatedObject_TouchDown
15
16
  AddHandler AssociatedObject.DropDownOpened, AddressOf AssociatedObject_DropDownOpened
16
17
  AddHandler AssociatedObject.DropDownClosed, AddressOf AssociatedObject_DropDownClosed
17
18
  End Sub
@@ -19,6 +20,7 @@
19
20
  Protected Overrides Sub OnDetaching()
20
21
  MyBase.OnDetaching()
21
22
  RemoveHandler AssociatedObject.Loaded, AddressOf AssociatedObject_Loaded
23
+ RemoveHandler AssociatedObject.TouchDown, AddressOf AssociatedObject_TouchDown
22
24
  RemoveHandler AssociatedObject.DropDownOpened, AddressOf AssociatedObject_DropDownOpened
23
25
  RemoveHandler AssociatedObject.DropDownClosed, AddressOf AssociatedObject_DropDownClosed
24
26
  AssociatedObject_DropDownClosed(_ScrollViewer, New EventArgs)
@@ -31,6 +33,12 @@
31
33
  FirstOrDefault
32
34
  End Sub
33
35
 
36
+ Private Sub AssociatedObject_TouchDown(sender As Object, e As TouchEventArgs)
37
+ 'ComboBoxタッチ時はScrollViewerのタッチを抑制
38
+ 'これをしないとコンボボックスDropDown後の再タッチでDropDownを閉じることができない
39
+ e.Handled = True
40
+ End Sub
41
+
34
42
  Private Sub AssociatedObject_DropDownOpened(sender As Object, e As EventArgs)
35
43
  If _ScrollViewer Is Nothing Then Return
36
44
  AddHandler _ScrollViewer.TouchDown, AddressOf ScrollViewer_TouchDown

1

誤記修正

2017/01/30 06:17

投稿

mikupedia
mikupedia

スコア159

answer CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  Private Sub AssociatedObject_DropDownClosed(sender As Object, e As EventArgs)
40
40
  If _ScrollViewer Is Nothing Then Return
41
- RemoveHandler _ScrollViewer.GotFocus, AddressOf ScrollViewer_TouchDown
41
+ RemoveHandler _ScrollViewer.TouchDown, AddressOf ScrollViewer_TouchDown
42
42
  End Sub
43
43
 
44
44
  Private Sub ScrollViewer_TouchDown(sender As Object, e As RoutedEventArgs)