WPF in C# with MVVM using Calibu

2018-09-25  本文已影响0人  想跳舞的兔子

本文一步步讲述使用Caliburn Micro包来创建MVVM结构的WPF项目:

1.创建WPF项目。

打开VS,创建WPF项目,即可创建一个WPF项目。 新建WPF项目.png

图中:1:解决方案的名字,2:项目的名字,1,2可以一致亦可以不一致,3.需要选择的WPF项目

2.安装Caliburn Micro 包

在项目的引用里点击右键,选择NuGet,并在搜索栏里面输入Caliburn Micro,如下图,选择第一个安装即可。其间会提示你安装Caliburn.Mirco和Caliburn.Mirco.Core。点击确定即可。


image.png

3.配置符合CaliburnMicro的框架格式。

StartupUri="MainWindow.xaml"
<Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary>
                    <local:Bootstrapper x:Key="bootstrapper" />
                </ResourceDictionary>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

并修改相应的App.cs.这里有点奇怪,似乎我这个App.cs修改还是不修改,对主程序没有影响。当然也有可能是因为下面的ShellViewModel我继承的是Screen类的缘故(是可以根据所要实现的功能继承CaliburnMicro其他的类的,官方教程里继承的就是PropertyChangedBase)

public partial class App : Application {
        public App() {
            InitializeComponent();
        }
    }

using Caliburn.Micro;
public class Bootstrapper : BootstrapperBase {
        public Bootstrapper() {
            Initialize();
        }
        protected override void OnStartup(object sender, StartupEventArgs e) {
            DisplayRootViewFor<ShellViewModel>();
        }
    }

public class ShellViewModel:Screen
    {
    }

然后再Views文件夹中新建WPF窗体(如果你想创建可以即可以在另一个窗体里调用也可以独立显示的窗体,选则新建用户控件)ShellView.xmal。
然后运行程序,基本就可以成功了。
注意:我们需要把项目文件夹ViewModels包含在Bootstrapper.cs中,否则DisplayRootViewFor<ShellViewModel>();会报错,因为找不到ShellViewModel.cs。如果不创建文件夹就不需要这一步。

4.测试是否正确调用了xmal

修改或者添加ShellView.xmal中的背景颜色Background="AliceBlue",来查看程序是不是通过ShellViewModel.cs的名字来调用了相应的ShellView.xmal
命名很重要,**ViewModel.cs和**View.xmal是对应的在CaliburnMicro中还有其他命名即可建立联系的功能请自行探索。

5.Have Fun

上述基本就是整个框架的搭建,至于实际使用的时候选择继承的类或者使用的窗体,这都是可以更改的。如果你还需要调用一些功能函数,可以在解决方案中新建一个相应的类库项目,然后在主程序项目中引用即可。

上一篇下一篇

猜你喜欢

热点阅读