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…

火柴人_火柴人 x THANKSGIVING

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

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…

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

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

MySql里的My是指谁?

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

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

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

ajax上传文件 获取失败,Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法...

本篇文章给大家带来的内容是关于Ajax上传文件/照片时报错TypeError &#xff1a;Illegal invocation的解决方法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。问题Ajax上传文件/照片时报错TypeError &#xff1a;Illegal in…

再见!微软宣布终止对旧版 Microsoft Edge 浏览器的支持

微软宣布自 2021 年 3 月 9 日起终止对旧版 Microsoft Edge&#xff08;Microsoft Edge Legacy&#xff09;浏览器的支持。旧版 Microsoft Edge 是基于 EdgeHTML 的浏览器&#xff0c;自 2015 年 7 月 29 日随新一代 Windows 10 操作系统推出。在结束对旧版 Microsoft Edge 浏览…

机器学习:怎样才能做到从入门到不放弃?

2017年人工智能已经列入了国务院的人工智能发展规划中&#xff0c;人工智能将成为推动中国发展的新生科技力量&#xff0c;并在未来扮演着越来越重要的角色&#xff0c;对于想要从事AI行业的小伙伴们来说&#xff0c;如何能够快速、深入的掌握机器学习相关知识显得尤为重要。下…

有必要服务器虚拟化吗,服务器虚拟化有必要吗

服务器虚拟化有必要吗 内容精选换一换专属云(DeC)专属虚拟化资源池。在专属云内&#xff0c;用户可申请独占物理设备&#xff0c;独享计算和网络资源&#xff0c;并使用可靠的分布式存储。专属虚拟化资源池。在专属云内&#xff0c;用户可申请独占物理设备&#xff0c;独享计算…

C#实用小知识:字符串里的换行

从前&#xff0c;用asp.net core写了一个给客户发交易明细的应用&#xff0c;每天发一次&#xff0c;因为是csv格式&#xff0c;当时用的是StringBuilder来一行一行组装数据&#xff0c;组装完后&#xff0c;EMali或SFTP给客户。后来&#xff0c;为节省服务器资源&#xff0c;需…

多重信号辅助音频分离,让你在嘈杂环境也能指哪听哪儿

在刚刚结束的 I/O 大会的主题演讲中&#xff0c;Google CEO Sundar 提出了机器学习在无障碍&#xff08;Accessibility&#xff09;方面的用例&#xff1a;有听觉障碍的人在观看视频时往往需要配合字幕来完成辅助理解&#xff0c;但是如果你遇到了多个人同时在说话&#xff0c;…

线性表的链式实现

用链式实现的线性表&#xff0c;公共接口ADT跟上一篇一样 1&#xff0c;有序链表 成员变量和构造函数&#xff1a; privateLinearNode front;privateintcount;publicLinkedOrderedList(){ front null; count 0;实现清单&#xff08;将ADT和有序链表扩展的独有操作分别作了注释&…

mysql5.7组复制多主一从搭建_MySql5.7-多源复制(多主单从)

1.1.主库配置my.cnf#确保唯一server-id1#作为Master要开启binloglog-binmysql-bin#binlog format有三种形式&#xff1a;Statement、Mixed、Row&#xff0c;默认设置为mixedbinlog-formatmixed#需要同步的库&#xff0c;不指定默认同步全部库binlog-do-dbradius#不需要同步的库…

我敢打赌,这世界没有python数据分析解决不了的问题

相信许多做数据的都有这样的经历&#xff1a;你花了大半天整合了一张数据表&#xff0c;却因为其他部门的错误&#xff0c;导致表格结构全错了&#xff01;于是你又要吭哧吭哧重新来过...每次数据都重复洗一遍&#xff0c;还这么慢&#xff0c;要是有一劳永逸的方法就好了。一劳…

mysql 存储二进制数据_为什么在MySQL中存储二进制数据?

Im a little confused - what are the pros of storing binary data in DB? Is it for security reasons, or there are some more complicated motives i dont see?Thanks for your time.解决方案As opposed to what? Putting it in the filesystem?The drawbacks to usin…

福利再度来袭,R语言数据分析书籍值得你拥有

在这个大数据的时代&#xff0c;数据分析和数据挖掘的重要性日益明显&#xff0c;小编也一直有意识地收集相关数据集&#xff0c;经过长时间的积累和沉淀&#xff0c;已经拥有十几本有关用R做数据分析和数据挖掘的书籍&#xff0c;有《统计建模与R软件》&#xff08;含源码&…

在 .NET Core 中使用 ViewConfig 调试配置

介绍.NET Core 中的配置包含了多个配置提供程序&#xff0c;包括了 appsettings.json&#xff0c;环境变量&#xff0c;命令行参数等&#xff0c;还有一些扩展的自定义提供程序&#xff0c;比如说 ApolloConfig&#xff0c;AgileConfig 这些&#xff0c;然后从键值对中读取配置…

有趣!机器学习预测《守望先锋》里的赢家

网络游戏及电竞流媒体业务正在崛起为一个巨大的市场。在去年的英雄联盟世界锦标赛中&#xff0c;仅一场半决赛就有高达 1.06 亿人观看&#xff0c;甚至超过了 2018 年“超级碗”的观看人数。另一个成功的例子是 Twitch&#xff0c;目前有数千游戏玩家在上面直播玩游戏&#xff…

C#8.0宝藏好物Async streams

之前写《.NET gRPC 核心功能初体验》&#xff0c;利用gRPC双向流做了一个打乒乓的Demo&#xff0c;存储消息的对象是IAsyncEnumerable<T>&#xff0c;这个异步可枚举泛型接口支撑了gRPC的实时流式通信。本文我将回顾分享foreach/yield return/async await语法糖的本质如何…