gpt4 book ai didi

c# - 如何从 ViewModel 中访问 RichEditBox 控件?

转载 作者:行者123 更新时间:2023-12-03 10:44:08 25 4
gpt4 key购买 nike

所以我只是想弄清楚如何从我的应用程序的 View 模型中访问 RichEditBox 控件。如果不使用反模式,这是否可能?

我知道在 View Model 中访问控件的唯一方法是将其传递给 View Model 实例中的属性。例如:

public MainView()
{
this.InitializeComponent();

// Instantiate the ViewModel:
MyViewModel vm = new MainViewModel();
{
myRichEditBox = this.richEditBoxElement;
}
}

所以现在 MainViewModel 实例 (vm) 包含一个名为 myRichEditBox 的字段,它指向我试图从 View 模型中操作的 RichEditBox。这是访问它的适当方式还是反模式?有没有更好的方法来访问它?

最佳答案

开箱即用的 RichEditBox 不是为数据绑定(bind)而设计的 :( 但是,您永远不应该将控件从 View 暴露到 View 模型,因为这与 MVVM 所代表的一切背道而驰。

有一些创建 Bindable RichEditBoxes 的人的解决方案。你可以试试这个:
http://www.codeproject.com/Articles/66054/A-Bindable-WPF-RichTextBox (我自己没有尝试过这个例子)

关于c# - 如何从 ViewModel 中访问 RichEditBox 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146893/

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