MVVM Light与Windows Phone应用栏绑定

在Windows Phone 7应用程序开发中,使用MVVM模式是提高代码可维护性和可测试性的一种有效方法。MVVM Light是一个流行的轻量级MVVM框架,它提供了一些有用的工具来简化数据绑定和命令的实现。本文将介绍如何使用MVVM Light框架将应用栏(ApplicationBar)和菜单项(MenuItem)绑定到RelayCommand。

准备工作

在开始之前,请确保已经安装了MVVM Light框架。如果没有,请访问下载并安装项目模板。

步骤1:创建新项目

打开Visual Studio,点击"文件"->"新建项目",导航到"Silverlight for Windows Phone",确保使用的是"MVVM Light (WP7) Template"。

为了使应用栏和菜单项支持命令绑定,需要下载一个名为Phone7.Fx的包装库。这个库由Nicolas Humann创建,可以从下载。下载后,请将其解压到能找到的位置。

步骤3:添加引用

在WP7项目中,右键点击"引用",然后将下载的DLL文件添加到项目中。

步骤4:修改MainPage.xaml

在MainPage.xaml文件中,需要添加正确的命名空间。不要忘记在添加后构建项目。

步骤5:添加BindableApplicationBar

现在可以在MainPage.xaml中添加BindableApplicationBar,只需几行代码。

步骤6:构建MainPage.xaml

最终的MainPage.xaml应该类似于以下代码:

步骤7:创建RelayCommands

最后,需要在MainViewModel.cs文件中创建RelayCommands,并将其写入MessageBox。

public class MainViewModel : ViewModelBase { public string ApplicationTitle { get { return "MVVM LIGHT"; } } public string PageName { get { return "My page:"; } } public string Welcome { get { return "Welcome to MVVM Light"; } } public RelayCommand DisplayAbout { get; private set; } public RelayCommand InputBox { get; private set; } public MainViewModel() { if (IsInDesignMode) { // Code runs in Blend --> create design time data. } else { DisplayAbout = new RelayCommand(() => { MessageBox.Show("About box called!"); }); InputBox = new RelayCommand(() => { MessageBox.Show("settings button called"); }); } } }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485