C# 在Freshmvvm中访问页面项属性的最佳实践是什么?
好的,所以我对Freshmvvm和MVVM模式非常陌生 我学习了一些教程,阅读了freshmvvm上的所有内容,但当我开始编写代码时,我遇到了麻烦 如何在不将项目绑定到PageModel中的变量的情况下更改项目(如C# 在Freshmvvm中访问页面项属性的最佳实践是什么?,c#,xamarin,mvvm,freshmvvm,C#,Xamarin,Mvvm,Freshmvvm,好的,所以我对Freshmvvm和MVVM模式非常陌生 我学习了一些教程,阅读了freshmvvm上的所有内容,但当我开始编写代码时,我遇到了麻烦 如何在不将项目绑定到PageModel中的变量的情况下更改项目(如文本属性)?可能吗?在纯表单上,我可以使用代码隐藏来执行类似于myLabel.Text=“Hello World”的操作。但在Freshmvvm中,我的页面模型中没有对页面项目的引用 因此,如果我要使用代码隐藏文件,那么我需要代码隐藏文件中的页面模型引用,反之亦然。怎么做 或者我应该忘
文本属性)?可能吗?在纯表单上,我可以使用代码隐藏来执行类似于myLabel.Text=“Hello World”
的操作。但在Freshmvvm中,我的页面模型中没有对页面项目的引用
因此,如果我要使用代码隐藏文件,那么我需要代码隐藏文件中的页面模型引用,反之亦然。怎么做
或者我应该忘记文件背后的代码,在页面模型中进行所有的编码吗?如果是,如何让页面实例引用我的项目“x:Name”
或者我必须将我想要更改的每个项目属性绑定到PageModel中的一个变量吗?我发现这个选项非常有限制性
谢谢。MVVM的全部思想是不直接从视图模型(页面模型)访问视图(页面)这就是为什么页面模型中没有对页面的引用。如果需要从页面中引用页面模型,可以将页面的绑定上下文强制转换为页面模型。我认为最好将textbox的文本绑定到属性并进行更新
var pm = this.BindingContext as MyPageModel