WPF中路由事件

zhangx0602 2012-08-02 04:58:01
private void button1_Click(object sender, RoutedEventArgs e)
{

// textBlock1.Text = new ShowBranchList().GetBranchList();
var 111= new TreeViewItem();
111.Header = "111";
111.Name = "111";
treeView1.Items.Add(111);
sadasd.MouseDoubleClick += new MouseButtonEventHandler(A_MouseButtonEventHandler);
var 222= new TreeViewItem();
222.Header = "222";
222.Name = "222";
222.MouseDoubleClick += new MouseButtonEventHandler(A_MouseButtonEventHandler);
111.Items.Add(SubItem);
var 333= new TreeViewItem();
333.Header = "333";
333.Name = "333";
333.MouseDoubleClick += new MouseButtonEventHandler(A_MouseButtonEventHandler);
222.Items.Add(SubItem2);

}


private void A_MouseButtonEventHandler(object sender, MouseButtonEventArgs e)
{

TreeViewItem asd= sender as TreeViewItem;
MessageBox.Show(asd.Name);
}


点击button1后 界面上会出现一个111的treeview 完全点击展开后是
111
222
333
此时如果我双击111 就会弹出一个含有111 的窗口 但是如果我双击222就会先弹出222 再弹出111 双击333 就是弹出 333 222 111 三个窗口 我知道是因为MouseDoubleClick 是冒泡路由事件 但是我只想弹出我双击的那个TreeViewItem的name 怎么办????
...全文
319 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlx647625 2013-12-06
  • 打赏
  • 举报
回复
引用 3 楼 KumaPower 的回复:
在 A_MouseButtonEventHandler 中,最后加上 e.Handled=true; 试试
这个正解 , 事件是可以控制扩散的
Bonjour-你好 2013-09-11
  • 打赏
  • 举报
回复
在 A_MouseButtonEventHandler 中,最后加上 e.Handled=true; 试试
V0lD 2013-09-11
  • 打赏
  • 举报
回复
根据当前节点是否选中来避免父节点的路由 TreeViewItem tvi = sender as TreeViewItem; if (!tvi.IsSelected) return;
V0lD 2013-09-11
  • 打赏
  • 举报
回复
自己模拟定义DoubleClick事件
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/ajyie 在本文,我们将深入探讨如何使用Helix Toolkit在WPF应用程序实现实时3D工具路径的绘制。Helix Toolkit是一个开源库,专为.NET Framework设计,提供了丰富的3D图形功能,包括视图控制、光照、材质、几何模型以及各种3D效果。在C#环境,我们可以利用这个库创建交互式的3D界面,展示复杂的数据和动态过程。让我们理解“工具路径”这一概念。在制造业和CAD(计算机辅助设计)领域,工具路径指的是机器工具在加工工件时遵循的预定义轨迹。这些路径通常由CAM(计算机辅助制造)软件生成,以确定刀具在3D空间的运动。实时显示工具路径有助于工程师理解和优化加工过程,从而提高效率和精度。要使用Helix Toolkit在WPF项目实现这一功能,我们需要以下步骤:1. **安装Helix Toolkit**: 你需要通过NuGet包管理器或者手动下载源码添加到项目。这样,你就可以利用其提供的3D图形控件和类。2. **创建3D场景**: 在WPF XAML文件,引入Helix Toolkit的命名空间,并添加`HelixViewport3D`控件作为窗口的主要内容。这个控件提供了3D视图的容器。3. **定义几何模型**: 使用Helix Toolkit的几何类,如`MeshBuilder`或`Box`,创建表示工具路径的3D模型。你可以根据需要定义模型的颜色、大小和形状来模拟不同的工具动作。4. **实时数据绑定**: 为了实现“实时”工具路径更新,你需要将数据模型与UI控件绑定。这可以通过MVVM(Model-View-ViewModel)模式实现,将工具路径数据作为ViewModel的一部分,并使用数据绑定将其与3D视图关联。5. **动画和更新**: 当

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧