gpt4 book ai didi

mvvm - 如何将 richtextbox 中的 WPF 超链接绑定(bind)到命令?

转载 作者:行者123 更新时间:2023-12-04 21:46:50 40 4
gpt4 key购买 nike

使用 MVVM 模式,如何进行动态绑定(bind)一个 ICommand 到一个超链接的点击事件富文本框?

最佳答案

到达那里只有几步之遥,但您可以做到。

  1. 您必须使用可绑定(bind)的富文本框,而不是 WPF 附带的无法绑定(bind)的格式文本框。详情在这里:http://michaelsync.net/2009/06/09/bindable-wpf-richtext-editor-with-xamlhtml-convertor

  2. 完成后,您将拥有一个富文本编辑器,您可以将其绑定(bind)到 ViewModel 中的 FlowDocument。

  3. 创建 FlowDocument 后,在 ViewModel 中为 Hyperlink.ClickEvent 连接一个处理程序:

这是将处理程序添加到 FlowDoc 的调用

TheDocument.AddHandler(Hyperlink.ClickEvent, 
new RoutedEventHandler(HandleHyperlinkClick));


//Here's the handler definition
private void HandleHyperlinkClick(object sender, RoutedEventArgs args)
{
Hyperlink link = args.Source as Hyperlink;
//...
}

这是我见过的唯一一件事。 FlowDocuments 有点奇怪,因为它们是一种数据类型和一种视觉元素,所以在某种意义上将它驻留在您的 ViewModel 中感觉不对,但这是要走的路。

关于mvvm - 如何将 richtextbox 中的 WPF 超链接绑定(bind)到命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1237322/

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