gpt4 book ai didi

c# - WPF treeView节点如何添加点击事件获取节点值

转载 作者:行者123 更新时间:2023-11-30 22:04:48 28 4
gpt4 key购买 nike

我在 wpf 中有一个 TreeView 如何获取 TreeView 节点单击事件,以便我可以获得用户单击的节点的值?

Xaml

<Grid Height="258" Width="275">
<TreeView Height="258" HorizontalAlignment="Left" Name="treeView1" VerticalAlignment="Top" Width="275">
</TreeView>
</Grid>

我已经从 C# 代码填充了这个 TreeView。我需要在 c# 代码中写入什么事件方法才能在我的 c# 代码中获取用户单击节点的值。

要加载的代码隐藏

TreeViewItem treeItem = null;
treeItem = new TreeViewItem();
treeItem.Header = "Name";

最佳答案

由于 TreeViewItem 或 TreeView 没有可用的 Click 事件,因此这里有可能的解决方法

你有两个来自 C# 代码的选项

使用MouseLeftButtonUp 每次在项目上释放鼠标左键时都会触发,类似于单击

    void preparemethod()
{
...
TreeViewItem treeItem = null;
treeItem = new TreeViewItem();
treeItem.Header = "Name";
treeItem.MouseLeftButtonUp += treeItem_MouseLeftButtonUp;
}

void treeItem_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
//your logic here
}

或使用 Selected 作为触发器,如果​​单击选定元素可能不会触发

    void preparemethod()
{
...
TreeViewItem treeItem = null;
treeItem = new TreeViewItem();
treeItem.Header = "Name";
treeItem.Selected += treeItem_Selected;
}

void treeItem_Selected(object sender, RoutedEventArgs e)
{
//your logic here
}

在这两种方法中,发送者都是被点击的节点。你可以用作

例子

    void treeItem_Selected(object sender, RoutedEventArgs e)
{
TreeViewItem item = sender as TreeViewItem;
//you can access item properties eg item.Header etc.
//your logic here
}

关于c# - WPF treeView节点如何添加点击事件获取节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24880824/

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