gpt4 book ai didi

wpf - 如何确定单击了哪个节点。 Silverlight TreeView

转载 作者:行者123 更新时间:2023-12-05 01:14:41 26 4
gpt4 key购买 nike

如何确定在哪个节点上执行了单击?
来自 silverlight 工具包的 Treeview。

在 MouseRightButtonUp 我需要获取节点:

私有(private) void treeView_MouseRightButtonUp(对象发送者,MouseButtonEventArgs e)

最佳答案

MouseButtonEventArgs有一个 OriginalSource表示实际 UIElement 的属性产生了事件。

为了发现该元素属于哪个节点,您需要遍历可视化树来发现它。我使用这种扩展方法来帮助解决这个问题:-

    public static IEnumerable<DependencyObject> Ancestors(this DependencyObject root)
{
DependencyObject current = VisualTreeHelper.GetParent(root);
while (current != null)
{
yield return current;
current = VisualTreeHelper.GetParent(current);
}
}

然后在 MouseRightButtonUp事件您可以使用此代码找到该项目:-
 TreeViewItem node = ((DependencyObject)e.OriginalSource)
.Ancestors()
.OfType<TreeViewItem>()
.FirstOrDefault();

关于wpf - 如何确定单击了哪个节点。 Silverlight TreeView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com