TreeViewItem이 선택한 이벤트를 자체적으로 발사하는 것을 어떻게 막을 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1833052

문제

나는있다 TreeViewItem 언제 Selected, 방법이라고 부릅니다. 그러나 나는 그것을 발견하고있다 Selected 이벤트는 Selected 부모를위한 이벤트 TreeViewItem 또한 부름을받는 것 같습니다.

나는 실제로 일어나지 않는 것이 아니라, 왜 처음부터 이런 일이 일어나고 있는지 알려주는 문서를 찾을 수 없었습니다.

왜 이것이 왜 이것이 시작되는지, 그리고 아마도 그것을 막는 방법에 대해 나를 깨달을 수 있습니까?

나는 treeviewitem 대신 다른 객체에 열려 있지만 선택의 시각적 표시를 유지해야합니다.

감사!

추신 : 이것은 내가 가진 것의 스 니펫입니다.

 <TreeViewItem IsExpanded="True" IsSelected="False"  Selected="Fire_MaxCustomer_Selected_Event">
                        <TreeViewItem.Header>
                            <TextBlock Text="{Binding Path=DisplayName}" />
                        </TreeViewItem.Header>
                        <TreeViewItem.Items>
                            <TreeViewItem Header="Orders &amp; Credits" Selected="Fire_Orders_Credits_Event" />
도움이 되었습니까?

해결책

제공 한 스 니펫을 기반으로 전혀 선택할 수 없습니다. WPF의 이벤트가 라우팅되었다는 것을 알고 있습니까? 선택된 것은 시각적 트리를 거품하고 여러 번 소비 할 수있는 버블 링 이벤트입니다. 이벤트 핸들러에서 E.handled를 설정하여이를 방지 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top