Как я могу запретить TreeViewItem запускать событие Selected для себя и его родителя?

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

Вопрос

у меня есть TreeViewItem Что, когда Selected, вызывает метод.Однако я обнаружил, что, когда Selected событие называется, Selected мероприятие для родителя 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 маршрутизируются?Selected — это событие Bubbling, которое всплывает в визуальном дереве и может использоваться много раз.Вы можете предотвратить это, установив для e.Handled значение true в обработчике событий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top