Mik*_*ith 5 mvvm xamarin xamarin.forms freshmvvm
我在freshmvvm框架中使用了xamarin形式。
我想知道如何才能跳过使用xaml,而仅从c#中的代码访问绑定数据。
是否有任何代码示例可以帮助您?
尽管这违反了MVVM的原理,但是当然有一种方法可以做到这一点。
如果没有MVVM框架,您将只能手动创建ViewModel并自行设置BindingContext(documentation)。MVVM框架为您做的(唯一的)事情是自动绑定,因此您不必一遍又一遍地编写相同的代码。
因此,假设您有这个ViewModel,请注意我使用PageModel来匹配FreshMvvm的命名:
// SamplePageModel.cs
public class SamplePageModel
{
public string Foo { get; set; } = "Bar";
}
Run Code Online (Sandbox Code Playgroud)
现在在我的页面中,我将BindingContext设置如下:
// SamplePage.cs
// ... Skipped code, just constructor here:
public SamplePage()
{
InitializeComponent();
BindingContext = new SamplePageModel();
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以绑定到的任何属性SamplePageModel。
FreshMvvm自动完成此部分。如果出于某种原因,如果您想直接访问ViewModel / PageModel,请执行相反的操作。您可以在页面的某处或代码隐藏处执行以下操作:
// ... Some code here
var pageModel = BindingContext as SamplePageModel;
// ... More code here
Run Code Online (Sandbox Code Playgroud)
现在,如果pageModel不null存在,您将拥有绑定数据并填充的PageModel!
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |