Как я могу запретить TreeViewItem запускать событие Selected для себя и его родителя?
-
11-09-2019 - |
Вопрос
у меня есть 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 & Credits" Selected="Fire_Orders_Credits_Event" />
Решение
Я вообще не могу ничего выбрать на основе предоставленного вами фрагмента.Вы знаете, что события WPF маршрутизируются?Selected — это событие Bubbling, которое всплывает в визуальном дереве и может использоваться много раз.Вы можете предотвратить это, установив для e.Handled значение true в обработчике событий.