zoukankan      html  css  js  c++  java
  • [Caliburn.Micro专题][1]快速入门

    开场白:本系列为个人学习记录,才疏学浅,存在表述或理解错误,请多指教。分享不易,和谐交流,勿喷。

    1. 什么是Caliburn.Micro?

    一个基于WPF的MVVM框架。本系列文档中将一直会把Caliburn.Micro框架简称为CM框架

    2. 我是否需要学习CM框架?

    如果你需要基于开发一个运行在Windows平台上的GUI程序,那么CM框架是个不错的选择。

    3. 如何下手?

    3.1 需要理解以下几个概念:

    • Xmal:界面。类xml的界面描述语言。通常需要一个后台.cs文件。
    • Bootstrapper: 启动器。可以理解为它封装了程序启动的过程。
    • Views:视图。使用xmal语言描述界面布局和元素。
    • ViewModels: 为界面显示提供数据和逻辑支撑。

    3.2 工程概览

    开发环境: VS 2019

    3.3 示例代码

    <!-- 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
        {
            
        }
    }
    
    
  • 相关阅读:
    Meta标签详解
    Python: 什么是*args和**kwargs
    如何进行 WebSocket 协议的压测
    在Mac上使用Microsoft Remote Desktop
    报表测试方法与注意事项
    Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等) Linux服务部署Yapi
    mac安装brew(亲测)
    Linux下查看系统配置
    iTerm--比Terminal(终端)更好用的命令行工具
    协方差矩阵
  • 原文地址:https://www.cnblogs.com/alfredxing/p/12041696.html
Copyright © 2011-2022 走看看