WPF TreeView,在PreviewMouseDown事件中获取TreeViewItem

2024-01-21

如何确定在 PreviewMouseDown 事件中单击的 TreeViewItem?


以下似乎有效:

private void myTreeView_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
  TreeViewItem item = GetTreeViewItemClicked((FrameworkElement)e.OriginalSource, 
                                                                       myTreeView);
  ...
}

private TreeViewItem GetTreeViewItemClicked(FrameworkElement sender, TreeView treeView)
{
  Point p = ((sender as FrameworkElement)).TranslatePoint(new Point(0, 0), treeView);
  DependencyObject obj = treeView.InputHitTest(p) as DependencyObject;
  while (obj != null && !(obj is TreeViewItem))
    obj = VisualTreeHelper.GetParent(obj);
  return obj as TreeViewItem;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF TreeView,在PreviewMouseDown事件中获取TreeViewItem 的相关文章

  • C# WPF 如何正确关闭新窗口?

    我有一个简单的问题 1 创建一个新的WPF项目 其中有启动窗口 MainWindow xaml 2 在此项目中 创建一个新窗口Window1 xaml 3 Windows1的已加载事件 让它关闭 4 放置一个Open按钮到MainWindo
  • TextBlock:Text与StringFormat的绑定

    是否可以绑定Text and StringFormat too
  • WPF 绑定中的“{Binding Path=.}”是什么意思?

    什么是 Binding Path 在 WPF 绑定中意味着什么 我看到有人用它 但找不到任何解释 绑定语法中是否还有其他特殊符号 除了 Binding 我找到了这个WPF 绑定备忘单 http www nbdtech com blog ar
  • 使用拇指移动变换后的控件会产生奇怪的行为

    当尝试使用拇指在画布上移动控件时 我遇到了奇怪的行为 当我将控件添加到画布并使用 Thumb DragDelta 事件来移动它时 一切看起来都很好 但是 当我对控件应用旋转变换时 拖动它是很奇怪的 控件开始围绕光标旋转 角度越大 圆圈越大
  • 强制窗口在打开时获得焦点

    我有一个 WPF 应用程序 它通过套接字连接与 C MFC 应用程序进行通信 如果用户按下 C 应用程序中的特定按钮 则会显示一个新的 WPF 窗口 以下是调用以启动 WPF 窗口的代码 var window new Window wind
  • 如何在c# wpf中获取元素的标签?

    我正在尝试使用 WPF 构建一个 GUI 在其中我可以绘制一些基本形状并将它们存储到 xml 文件中 形状是在 xaml 文件中设计的 我为每个形状添加了标签 现在我想在代码中获取它们的标签值 并将其作为属性存储在输出 xml 文件中 例如
  • 如何正确使用Dispatcher.BeginInvoke?

    我几乎在互联网上到处搜索 我用谷歌搜索了很多次并找到了很多结果 但我仍然找不到解决我的问题的方法 我正忙着改造旧的WinForms应用程序到新的 WPF 应用程序 但我在使用某些命令时遇到问题 在他们使用的 Winforms 应用程序中Co
  • WPF 中的数据绑定?

    我正在尝试在 WPF 中设置数据绑定 我有班级人员 它通过一个文本框进行更新 类似老式的 另一个文本框应该通过数据绑定镜像对人员对象的更改 它曾经是 type twoway 但抛出了xamlparse 异常 它不是这样工作的 点击显示 pe
  • 使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

    我已经尝试了一切但一无所获 所以我希望有人能给我一个顿悟的时刻 我根本无法获得成功提取数据网格中数据的绑定 我有一个包含 MyDataType 的多列的 DataTable public class MyData string nameDa
  • 从模板绑定到 viewmodel 的属性

    我为我的 GameViewModel 创建了一个视图 我有一些像这样的xaml
  • 如何在MVVM中实现对话框架构

    我正在开发一个基于 PRISM 框架 Unity Container 的 WPF 4 0 MVVM 应用程序 我想知道在 mvvm 模式中实现对话框的最佳方法是什么 我计划在我的应用程序中使用相当多的东西 所以我想要一些可重用的东西 由于您
  • 如何在wpf中打印屏幕截图

    首先我英语说得不太流利 反正 我正在尝试这样做 然而这还不是第三天 我现在正在做的是屏幕捕获后的程序屏幕打印 我参考这段代码 https social msdn microsoft com Forums windows en US 0623
  • WPF 元素宿主内存泄漏

    我在 Windows 窗体上使用元素主机时遇到奇怪的内存泄漏 我有一个主窗体 它打开另一个窗体 该窗体上只有 elementhost 控件 此时 它没有 wpf 控件子控件 只能打开 1 个主机表单 每次我打开窗体时 应用程序内存都会增加2
  • 如何在 RichTextBox 中以编程方式移动插入符位置?

    我有一个 RichTextBox 其中的特殊文本位具有自定义格式 但是 存在一个错误 即插入字符后 插入符号会放置在新插入的字符之前而不是之后 这是因为对于每次编辑 代码都会重新计算内容以应用自定义格式 然后像这样设置 CaretPosit
  • 重写 WPF 工具包图表中的 DataPointStyle

    我想覆盖DataPointStyle of the LineSeries在我的 WPF 工具包中Chart
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • Wpf TextBlock 中的垂直文本

    是否可以垂直显示 TextBlock 中的文本 以便所有字母彼此堆叠 不使用 LayoutTransform 旋转 还没有人提到使用纯 XAML 垂直堆叠任意字符串的字母 不旋转它们 的明显而简单的方法
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如

随机推荐