Я создаю TreeView
, используя следующий метод, проходящий по документу xml.
Однако, когда выбран любой TreeViewItem
, все узлы в иерархии получают триггеры событий вместо только выбранных TreeViewItem
.
Например, допустим, мы выбрали внука узла. Все узлы, включая внука, ребенка, родителя, инициируют одно и то же событие.
Другими словами, мы ожидаем, что только внук вызовет связанное событие, тогда как событие должно вызываться только один раз, но в итоге оно вызывается 3 раза для всех узлов иерархии выбранного элемента.
Вот код:
TreeViewItem getTreeViewItemWithHeader(XmlNode node)
{
TreeViewItem tvi = new TreeViewItem();
tvi.Header = node.Name;//hdr;
tvi.Tag = node.Attributes["Tag"].Value;
tvi.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(tvi_PreviewMouseLeftButtonDown);
tvi.Selected += new RoutedEventHandler(tvi_Selected);
return tvi;
}
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения, спасибо
N