在Xamarin.Forms上的XAML中将BindingContext设置为ViewModel

我想用Xamarin.Form和MVVM开发一个简单的项目。 在我的解决方案(名为XamarinPOC)中,我(除了标准的Xamarin.Forms项目)还有一个用于模型的单独项目(XamarinPOC.Model)和一个用于ViewModel的单独项目(XamarinPOC.ViewModel)。

我在XamarinPOC.ViewModel项目中定义了一个BaseViewModel类的抽象类(实现了INotifyPropertyChanged接口),之后我创建了一个使用简单属性扩展BaseViewModel类的SummaryViewModel类:

namespace XamarinPOC.ViewModel { public class SummaryViewModel : BaseViewModel { private string _test = "The binding is OK!"; public String test { get { return _test; } set { _test = value; OnPropertyChanged("test"); } } public SummaryViewModel(){} } } 

接下来,我在XamarinPOC项目中创建了一个简单的ContentPage(SummatyView),它只包含一个我希望显示ViewModel中定义的文本的标签。 我想使用XAML来定义视图和绑定,但是当我运行应用程序时没有显示任何内容,我在编译时和运行时没有错误但是文本没有显示。 我的XAML就是这个

     

最后我的app.cs是:

  namespace XamarinPOC { public class App : Application { public App() { MainPage = new Summary(); } } } 

在XamarinPOC项目中,我添加了对XamarinPOC.ViewModel和XamarinPOC.Model程序集的引用。

我认为问题出在绑定的XAML定义中,但是我找不到错误。 我哪里错了?

要在您的情况下将视图绑定到来自Xaml的viewmodel,请执行以下操作

         

我注意到的一个注意事项是使用命名约定,最好将所有ViewModel(即使它只是一个viewModel)放在名为“ViewModel s ”的文件夹中因此,您的案例中的命名空间将是XamarinPOC.ViewModel s

Interesting Posts