开场白:本系列为个人学习记录,才疏学浅,存在表述或理解错误,请多指教。分享不易,和谐交流,勿喷。
一个基于WPF的MVVM框架。本系列文档中将一直会把Caliburn.Micro框架简称为CM框架。
如果你需要基于开发一个运行在Windows平台上的GUI程序,那么CM框架是个不错的选择。
开发环境: VS 2019
<!-- App.xaml -->
<Application x:Class="Caliburn.Micro.Demo.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Caliburn.Micro.Demo">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:Bootstrapper x:Key="bootstrapper"/>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
//Bootstrapper.cs
using Caliburn.Micro.Demo.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace Caliburn.Micro.Demo
{
public class Bootstrapper : BootstrapperBase
{
public Bootstrapper()
{
Initialize();
}
protected override void OnStartup(object sender, StartupEventArgs e)
{
DisplayRootViewFor<ShellViewModel>();
}
}
}
<!-- ShellView.xaml -->
<Window x:Class="Caliburn.Micro.Demo.Views.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Caliburn.Micro.Demo.Views"
xmlns:cal="http://www.caliburnproject.org"
mc:Ignorable="d"
Name="HandwriterNameInXaml"
Title="ShellView" Height="300" Width="500">
<Grid>
</Grid>
</Window>
//ShellViewModel.cs
using Caliburn.Micro.Demo.Views;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
namespace Caliburn.Micro.Demo.ViewModels
{
public class ShellViewModel
{
}
}
原文:https://www.cnblogs.com/alfredxing/p/12041696.html