0
MouseDoubleClick (또는 PreviewMouseDoubleClick)을 내 사용자 지정 WPF 컨트롤에 정의 된 사용자 지정 명령에 바인딩하고 싶습니다.ListBox MouseBinding이 작동하지 않습니다.
문제는 작동하지 않는다는 것입니다.
...
<Popup>
...
<!--This CommandBinding **DOES NOT WORK** !-->
<ListBox Grid.Row="1"
x:Name="PART_lBox"
VirtualizingStackPanel.IsVirtualizing="True"
DisplayMemberPath="{TemplateBinding DisplayMemberPath}"
ItemsSource="{TemplateBinding ItemsSource}">
<ListBox.InputBindings>
<MouseBinding Command="{x:Static local:ListPicker.AcceptCommand}"
MouseAction="LeftDoubleClick" />
</ListBox.InputBindings>
</ListBox>
<!--This CommandBinding **WORKS** !-->
<Button Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Right"
Command="{x:Static local:ListPicker.AcceptCommand}"
Content="Accept" />
...
</Popup>
직접적인 방법은 없습니다. 그러나 사용자 정의 클릭 핸들러를 만들어이 작업을 수행 할 수 있습니다. 내가 한 것은 click 메서드가 호출 될 때마다 타이머를 시작하는 클릭 카운터 클래스를 가졌습니다. 해당 시간 내에 클릭이 발생할 때 클릭 수를 증가시킵니다. 나를 위해 나는 각 클릭 사이의 간격으로 2000 밀리 초를 가졌다. 얼마나 많은 정확한 클릭이 있었는지 알고 싶다면 해당 클래스의 ClickCount 속성을 사용해야합니다. 한 번의 클릭, 두 번 클릭 및 세 번 클릭에 대해 서로 다른 동작을 수행하는 상황에서 사용해야했습니다. HTH –