MVVM中的Xamarin.Forms bindingContext

时间:2019-05-23 16:39:21

标签: c# xaml xamarin xamarin.forms

进一步 This Question关于BindingContext

我正在查看一个实现MVVM的Xamarin.Forms项目,当我查看XAML页面(例如SomePage.xaml)时,我想找到具有该页面逻辑的ViewModel,通常是命中和错过。

在更简单的Xamarin.Forms应用程序中,我只需要查看SomePage.xaml.cs来查看bindingContext。

但是在更大的应用中,这似乎是“抽象的地方”

例如在SomePage.xaml中,我看到了:

x:Class="MyApp.SomePage"

但这通常不是包含代码的类,它似乎是XAML文件的代码表示形式

搜索SomePageViewModel.cs时我很幸运,但并非总是如此。

在代码中搜索术语bindingContext没有结果。

  

我的问题是我还能在哪里寻找bindingContext,以确定哪些类包含控制XAML页面的代码。

这似乎是以某种方式抽象的,因为我在代码BindableBase中看到了。

1 个答案:

答案 0 :(得分:1)

来自PRISM docs

prism:ViewModelLocator.AutowireViewModel="True"
  

此视图(MainPage.xaml)已连接到视图模型   (MainPageViewModel.cs)通过命名约定自动允许   用于数据绑定到视图模型。请参阅ViewModelLocator文档   有关更多信息。

  

在Portable项目中,有一个ViewModels文件夹。这个资料夹   将包含您所有与视图模型相关的代码。模板已创建   在此的MainPage视图模型称为MainPageViewModel.cs   夹。让我们来看看这堂课,并分解正在发生的事情   在这里。