내 WPF 응용 프로그램에서 ListBox SelectionChanged 이벤트를 처리하고 잘 실행됩니다.WPF : ListBox 항목을 클릭하면 어떻게 처리됩니까?
이제는 이미 선택된 항목에 대해서도 클릭 이벤트를 처리해야합니다. MouseDown을 시도했지만 작동하지 않습니다. 항목에 ListBox 클릭을 처리하려면 어떻게해야합니까?
감사합니다.
내 WPF 응용 프로그램에서 ListBox SelectionChanged 이벤트를 처리하고 잘 실행됩니다.WPF : ListBox 항목을 클릭하면 어떻게 처리됩니까?
이제는 이미 선택된 항목에 대해서도 클릭 이벤트를 처리해야합니다. MouseDown을 시도했지만 작동하지 않습니다. 항목에 ListBox 클릭을 처리하려면 어떻게해야합니까?
감사합니다.
아마도 PreviewMouseDown
이벤트를 시도하십시오. MouseDown
이벤트는 삼키고 SelectionChanged
이벤트로 변환됩니다.
PreviewMouseDown
이 SelectionChanged
전에 발생한다는 단점 만 있습니다.
그냥 PreviewMouseDown 이벤트를 처리 :
private void listBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
var item = ItemsControl.ContainerFromElement(listBox, e.OriginalSource as DependencyObject) as ListBoxItem;
if (item != null)
{
// ListBox item clicked - do some cool things here
}
}
목록 상자가 내부적으로 선택이 변경 수행 할 수 아래로 마우스를 사용합니다. 따라서 미리보기 마우스 다운 이벤트를 사용할 수 있습니다. 이 여기에 대한 답변
외에도 아래 미리보기 마우스에서, 당신은 EventManager.RegisterClassHandler을 사용할 수 있습니다 ... ... : http://stackoverflow.com/a/821609/58768 –
@modosansreves 해당 질문에 대한 질문입니다. 클릭은 특별합니다. 분명히 납치되어 SelectionChanged로 바뀌 었습니다. DoubleClick은 ... –
다음은 비슷한 질문입니다. 그의 대답은 모든 접근법에 대한 좋은 요약이다. http://stackoverflow.com/q/1271375/1175496 –