处理加载的松散 Flowdocument 中的所有超链接 MouseEnter 事件
我是 WPF 新手,正在开发我的第一个项目。我已经被这个问题困扰一周了,所以我想在这里寻求一些帮助。
我的应用程序中有一个 FlowDocumentReader,它加载多个 FlowDocument(独立文件作为松散的 xaml 文件)。
我需要处理加载文档中所有超链接的 MouseEnter 事件,但我无法在 XAML 中设置 MouseEnter="myHandler",因为这些是松散的 XAML 文件。
有没有办法解析 FlowDocument 并在加载时设置处理程序?
还有其他解决方案吗?很抱歉新手问题,提前非常感谢。
I'm new to WPF, working on my first project. I've been stuck in this problem for a week so I'm trying to find some help here.
I have a FlowDocumentReader inside my app, wich loads several FlowDocuments (independent files as loose xaml files).
I need to handle the MouseEnter event for all the Hyperlinks in the loaded document but I cannot set MouseEnter="myHandler" in XAML as theese are loose XAML files.
Is there any way to parse de FlowDocument and set the handlers when loading it?
Any other solution? Sorry for the Newbie question, thanks A LOT in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
加载
FlowDocument
后,您可以使用LogicalTreeHelper
枚举所有 UIElement。它将允许您找到所有超链接。然后您只需订阅他们的MouseEnter
事件即可。这是一个代码:我已经使用以下 XAML 对其进行了测试:
After loading your
FlowDocument
you can enumerate all UIElements usingLogicalTreeHelper
. It will allow you to find all hyperlinks. Then you can simply subscribe to theirMouseEnter
event. Here is a code:I've tested it with following XAML:
看一下 http://xtrememvvm.codeplex.com/
它可以让您直接从松散的事件处理程序中挂钩XAML 文件。
没有文档,但使用路由命令和事件处理程序的示例应用程序演示。
Take a look at http://xtrememvvm.codeplex.com/
It lets you hook directly into events handlers from loose XAML files.
No docs, but the sample app demos using routed commands and event handlers.