C# WPF框架Caliburn.Micro快速搭建

1. Caliburn是什么?

Caliburn是Rob Eisenberg在2009年1月26日(Rob's MIX10 talk "Build Your Own MVVM Framework")提出的一个MVVM类的开源框架。它是一套用于协助开发WPF,Silverlight,WP7和Win RT等的应用程序的库。

Caliburn.Micro由Rob Eisenberg于2010年6月7日正式发布。

Caliburn.Micro是一个小而强大的框架,专为在所有XAML平台上构建应用程序而设计。凭借对MVVM和其他经证明的UI模式的强大支持,Caliburn.Micro将使你能够快速构建Solution,而无需牺牲代码质量和可测试性

2. 项目创建:

step1:创建工程,使用NuGet包管理工具为当前项目安装Caliburn.Micro

step2:项目创建:

新建StartView.xaml

删除项目根目录下的MainWindow.xaml

修改 App.xaml 删除StartupUri="MainWindow.xmal"。

<Window x:Class="WpfApp8.StartView"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:WpfApp8"mc:Ignorable="d"Title="StartView" Height="450" Width="800"><Grid Background="Gray"><Button x:Name="testBtn" Content="testBtn" HorizontalAlignment="Center"  VerticalAlignment="Center" Width="100" Height=" 50" Background="LightCyan"/></Grid></Window>

新建StartViewModel.cs

using Caliburn.Micro;
using System.Windows;namespace WpfApp8
{class StartViewModel : Screen{public StartViewModel(){}public void testBtn(){MessageBox.Show("hello world!");}}
}

新建一个类继承BootstrapperBase,这里我命名为MyBootstrapper

using Caliburn.Micro;
using System.Windows;namespace WpfApp8
{class MyBootstrapper : BootstrapperBase{public MyBootstrapper(){Initialize();//初始化框架}protected override void OnStartup(object sender, StartupEventArgs e){DisplayRootViewFor<StartViewModel>();//显示界面}}}

运行结果:

代码下载链接:

链接:https://pan.baidu.com/s/1tZlvSWOxxSZDIA1gMuITsQ

提取码:ix8j

获取更多知识,公众号:dotNET编程大全,扫码关注!

需加微信交流群的,请加小编微信号z438679770,切记备注 加群,小编将会第一时间邀请你进群!

 每日分享不易,"在看"就是鼓励!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么可以让计算机不能联网,我想让电脑:只能收发电子邮件,不能上网,怎样设置?...

2006-01-04 14:47:58用美萍卫士就可以。全部2006-01-04 14:47:582006-01-04 13:22:37第一种全部删除 最好的方式打开系统所在目录找到 IE 的所在地全部删除然后安装放火墙&#xff0c;以瑞星为例子~~~找到启动~~关闭HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers…

MYSQL技术连环斩-MYSQL简述

前言&#xff1a;严格的来说&#xff0c;MYSQL是一款产品而不是一项技术。关于技术和产品的论述&#xff0c;请参考我的博文。现在进行小结一下。可以说数据库技术是为了解决数据之间如何聚合&#xff0c;聚合的数据如何管理的问题。为了实际上的真正应用&#xff0c;就必须选择…

火柴人_火柴人 x THANKSGIVING

滴水之恩当涌泉相报&#xff0c;THANKSGIVING是我们给予对方的温暖。很多时候我们却发现&#xff0c;帮助我们的人其实并不求回报。也许&#xff0c;当我们想要感恩得到的帮助时&#xff0c;更应该做的&#xff0c;是铭记他人的善意&#xff0c;并努力把这份温暖传递下去。2020…

AI催生新的工作机遇:5个未来会很吃香的岗位

导读&#xff1a;人工智能与人类工作是当下许多人津津乐道的一个话题&#xff0c;而讨论的重点大多是围绕在“未来人工智能会不会抢走我们的工作”这个方面。“人工智能”一词经常会让人感觉心生恐惧和忧虑&#xff0c;人们畏惧人工智能所带来的未知可能性&#xff0c;害怕发生…

在 CAP 中使用 AOP ( Castle.DynamicProxy )

简介本篇文章主要介绍如何在 CAP 中集成使用 Castle.DynamicProxy&#xff0c;Castle DynamicProxy 是一个用于在运行时动态生成轻量级.NET代理的库。代理对象允许在不修改类代码的情况下截取对对象成员的调用。可以代理类和接口&#xff0c;但是只能拦截虚拟成员。为什么需要使…

共享服务器硬件要求,共享服务器的配置与管理.doc

编号&#xff1a;Q/NJXX-QR-RJ-2-2012南京信息职业技术学院教 案授课班级41421P、41422P授课时数2序号1时间地点[ ] 年[ ]月[ ] 日 [ ]节 [ ]课程单元共享服务器的配置与管理教学内容能够在Linux中访问Windows的共享资源掌握Linux中安装NFS服务的方法掌握Linux中安装Samba服务的…

Vim as Python IDE on windows

下载安装Python。 从Vim的网站下载vim,建议下Self-installing executable的版本。 编辑vim的配置文件_vimrc 拷贝vimrc_example里面的东东到_vimrc 去掉_vimrc里面的source $VIMRUNTIME/vimrc_example.vim 设置中文支持 "设置编码自动识别, 中文引号显示 "set fileen…

python中matplotlib库实例_Python Matplotlib库入门指南

Matplotlib简介Matplotlib是一个Python工具箱&#xff0c;用于科学计算的数据可视化。借助它&#xff0c;Python可以绘制如Matlab和Octave多种多样的数据图形。最初是模仿了Matlab图形命令, 但是与Matlab是相互独立的.通过Matplotlib中简单的接口可以快速的绘制2D图表初试Matpl…

分布式之数据库和缓存双写一致性方案解析!

一、为什么要写这篇文章&#xff1f;首先&#xff0c;缓存由于其高并发和高性能的特性&#xff0c;已经在项目中被广泛使用。在读取缓存方面&#xff0c;大家没啥疑问&#xff0c;都是按照下图的流程来进行业务操作&#xff1a;但是在更新缓存方面&#xff0c;对于更新完数据库…

四年级上册数学计算机笔记,四年级数学下册笔记整理

第一单元四则运算(1)在没有括号的算式里&#xff0c;如果只有加、减法或者只有乘、除法&#xff0c;都要从左往右按顺序计算。 (2)在没有括号的算式里&#xff0c;有乘、除法和加、减法&#xff0c;要先算乘、除法后算加、减法。 (3)在有括号的算式里&#xff0c;要先算括号里面…

CAP 发布 5.0 版本正式发布

前言今天&#xff0c;我们很高兴宣布 CAP 发布 5.0 版本正式版。同时我们也很高兴的告诉你 CAP 已经有越来越多的用户并且变得越来越流行。在 5.0 版本中&#xff0c;我们主要致力于更好的支持 .NET 5 以及支持新的 Transport&#xff0c;同时在该版本也进行了一些 Bug 修复的工…

电脑上的ofd格式文件如何打开呢_OFD格式的文件怎么打开预览?,来充电吧

我们不管是在工作、学习、下载资源的时候都可能收到别人的文件&#xff0c;但是如果是word或者pfd格式还好&#xff0c;直接在电脑上就可以打开&#xff0c;但是如果是ofd格式的就很难打开了。工具/材料搜狗浏览器、DCS文档在线预览操作方法01打开我们的搜狗浏览器&#xff0c;…

SUSE Linux系统安全配置十条

SUSE由于其出色的性能和对安全较好的控制&#xff0c;吸引了很多企业级用户&#xff0c;目前在国内开始有大量的关键应用。但这并不代表SUSE在使用中就是安全的&#xff0c;SUSE里还有很多安全细节要注意。 目录 1. 补丁、SSH及其它……………………………………3 2. 最小化xi…

用Python画中国地图(二)

在上一篇文章《用Python画一个中国地图》中&#xff0c;我们简单描述了一下如何用Python快速画出一个中国地图的轮廓&#xff0c;似乎没有什么实用价值&#xff0c;这一次我们用实际数据填充它&#xff0c;使它看上去更有意义。上色延续上一次的代码&#xff0c;我们这次还是只…

攻城时服务器维护,8月31日服务器维护更新公告

亲爱的《千年3》玩家&#xff1a;2017年8月31日10&#xff1a;00-14&#xff1a;00将对全区进行服务器例行维护&#xff0c;预计所需时间约为4个小时&#xff0c;如在维护期间无法完成维护内容&#xff0c;开机时间将顺延。本次更新内容包含&#xff1a;1、商城礼包更新2、版本…

php7 匿名继承类_PHP7中的匿名类使用方法_后端开发

PHP 微服务集群搭建 - Hyperf_后端开发Hyperf 是基于 Swoole 4.4 实现的高性能、高灵活性的 PHP 协程框架&#xff0c;内置协程服务器及大量常用的组件&#xff0c;性能较传统基于 PHP-FPM 的框架有质的提升&#xff0c;提供超高性能的同时&#xff0c;也保持着极其灵活的可扩展…

MySql里的My是指谁?

Monty 是一个编程天才。19岁的时候就从赫尔辛基理工大学退学并找了份全职工作&#xff0c;因为在学校里已经不能再教他什么了。33岁的时候他发布了 MySQL&#xff0c;世界上最有名的开源数据库&#xff0c;除了一个库之外&#xff0c;他编写了数据库的全部东西。55岁的时候他抛…

要嫁就嫁程序猿——钱多话少死的早

1程序猿问科比&#xff1a;“你为什么这么成功&#xff1f; ”科比&#xff1a;“你知道洛杉矶凌晨四点是什么样子吗&#xff1f; ”程序猿&#xff1a;“知道&#xff0c;一般那个时候我还在写代码&#xff0c;怎么了&#xff1f;”科比&#xff1a;“额…….”2女神&#xff…

成员函数指针与高性能的C++委托

成员函数指针与高性能的C委托 http://www.cnblogs.com/jans2002/archive/2006/10/13/528160.html Member Function Pointers and the Fastest Possible C Delegates 撰文&#xff1a;Don Clugston 翻译&#xff1a;周翔 引子 标准C中没有真正的面向对象的函数指针。这一点对C来…

k8s滚动升级_k8s deployment 滚动更新

正常来说 k8s 的 deployment 在更新时默认就会进行滚动的升级但是实际操作中会发现&#xff0c;滚动更新过程中应用还是会“挂掉”一会儿&#xff0c;大概会有几秒钟网页访问 502。究其原因应该是容器启动后&#xff0c;到应用真正工作起来&#xff0c;中间会有一段时间&#x…