오디오 파일의 위치를 나타내는 슬라이더가 있습니다. 사용자가 슬라이더를 두 번 클릭하면 자동으로 재생됩니다.왜 LeftDoubleClick은 슬라이더에서 작동하지 않습니다.
내가 사용하는 경우이 :
<Slider.InputBindings>
<MouseBinding Gesture="LeftDoubleClick" Command="{Binding PlayCommand}" />
</Slider.InputBindings>
명령이 호출되지 않습니다 놀이방. 내가 사용하는 경우,이 :
<Slider.InputBindings>
<MouseBinding Gesture="RightClick" Command="{Binding PlayCommand}" />
</Slider.InputBindings>
또는이
<Slider HorizontalAlignment="Stretch" (...) MouseDoubleClick="slider1_MouseDoubleClick" >
</Slider>
연극 명령이 호출됩니다.
두 번 클릭으로 제스처를 사용하지 못하게하는 이유는 마우스 오른쪽 버튼 제스처 또는 두 번 클릭 이벤트를 호출 할 수있게 해줍니다.
디자인 상으로 보입니다. Slider 컨트롤의 전체 템플릿 파일을 복사하고 대신 내부 Border를위한'InputBindings '을 넣어야합니다. 이 문제는 또한 ListViewItem과 같은 다른 많은 컨트롤에서도 발생할 수 있습니다 ... –
흥미 롭습니다 ... 그 디자인 결정이 어디서 왔는지 궁금합니다. 이것은 다소 일반적인 UI 관용구 인 것 같습니다 ... –
예, 사실 이상한 행동으로 쉽게 느끼지 못했습니다. 어떤 경우에는 버블 링 이벤트를 포착 할 수 없기 때문에 버블 링 이벤트를 처리 할 수 없으며 터널링 이벤트 ('Preview' 접두사가 있음)를 처리해야합니다. 이 경우에는'MouseDoubleClick'을 잡을 수 있습니다 ('PreviewMouseDoubleClick'을 기대했습니다). 해당 마우스 바인딩 인'LeftDoubleClick'을 사용할 수 없습니다. –