【发布时间】:2018-04-13 07:35:11
【问题描述】:
我是 MVVM WPF 的新手。谁能告诉我是否可以在我的 ViewModel 中使用 View 中的一些文本框函数,例如 textBox.GetLastVisibleLineIndex(),如果可以,如何使用?
谢谢。
编辑
好的,我会完整解释我的问题。我正在为超过 GB 的大文件制作某种文本编辑器,如记事本,我正在为此使用 WPF MVVM 方法。在我读取那个大文件的算法中,我有这个: 我首先阅读了文件的某些部分,然后我需要阅读其他部分,为此我使用一个后台线程来检查用户是否滚动到文本框的中间上方,如果是这种情况,那么线程会从文件中读取更多内容和更新文本框。现在,对于该算法,我需要查看文本框中最后一个可见行是什么,为此我需要使用 textBox.GetLastVisibleLineIndex() 知道该行的索引,但是从我的 ViewModel 中我无法访问该方法.所以,基本上我需要知道如何从 textBox 到我的 ViewModel 获取最后一个可见行。
【问题讨论】:
-
你说的 如果我可以从 MVVM 获取一些文本框函数 是什么意思?你能举个例子说清楚吗..
-
正如@RahulAgarwal 已经说过的,“采取函数”是什么意思?您的意思是是否应该调用 ViewModel 或Model 中的函数?
-
是的。在我的 ViewModel 中,我需要从 View 的文本框中查看我最后一个可见的行索引。如果我在视图中从 .cs 类中使用它,我有这个:textBox.GetLastVisibleLineIndex();但我需要在我的 ViewModel 中使用这个功能。
-
这只是对视图有意义的东西。在视图中使用该代码。添加一个依赖属性以通过绑定将整数传递给您的视图模型。在视图中设置 dp 的当前值。它将传递给您的虚拟机的绑定属性,您可以在您的虚拟机中使用它。
-
谢谢@Andy,会试试这个。你有这方面的例子吗?