首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# WPF MVVM开发框架Caliburn.Micro入门介绍①

在CaliburnMicro中只需要按照约定把View的名字加上后缀ViewModel,就是它的View Model 的名字,如:MainPage和 MainPageViewModel。...Caliburn.Micro自动把ViewModel绑定到View的DataContext。如果ViewModel 的属性名和控件的名称相同,那么就会自动绑定上。...02 以下是一个关于Caliburn.Micro简短的列表: Action消息: 操作机制允许您将UI触发器(如按钮的“单击”事件)“绑定”到视图模型或演示器上的方法。该机制还允许向方法传递参数。...参数可以数据绑定到其他框架元素,也可以传递特殊值,例如DataContext或EventArgs。所有参数都会自动转换为方法的签名。...虽然框架了解操作的约定事件,但它还了解约定绑定属性(您可以自定义或扩展)。

1.8K20

C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

当然,ActionMessage是这个标记中特定于Caliburn.Micro的部分。它表示当触发发生时,我们应该发送一条“SayHello”的消息。...由于我们使用了模型优先的方法,当Caliburn.Micro(以下简称CM)创建视图并使用ViewModelBinder将其绑定到ViewModel时,它为我们设置了此方法。...这将通过IoC容器中的键解析VM,设置Action.Target和DataContext,并应用所有约定。...$view 绑定到ViewModel的视图(通常是用户控件或窗口)。 $executionContext 操作的执行上下文,其中包含上述所有信息及更多信息。这在高级场景中很有用。...以下内容:使CM将名为“someTextBox”的文本框中包含的文本传递给MyAction。实际控制从未传递给操作的原因是VM不应该直接处理UI元素,因此约定不鼓励这样做。

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

    用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo...和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle...先看一下Caliburn.Micro的大概流程,画的不太好,先这样吧 ? 好了,我们开始今天的笔记。...程序要引入的三个类库 Caliburn.Micro System.Windows.Interactivity 和 System.ComponentModel.Composition 上边两个Caliburn.Micro...:给控件命名的时候如txt_abc这样加下划线Calibrn会把这个名字分开 成txt和abc两个属性它会去txt属性里去找abc属性绑定 代码里打开子窗体是用的Caliburn.Micro自己的IWindowManager

    1.2K80

    C# WPF MVVM开发框架Caliburn.Micro快速搭建③

    01 启动项目 打开Visual Studio 创建一个名为“Caliburn.Micro.Hello”的新WPF应用程序 添加对Caliburn.Micro Nuget包的引用,最新的版本是4.0.173...,更新日期2021年5月9日 (2021/5/9) 删除“MainWindow.xaml”并从“App.xaml”中删除StartupUri,使其如下所示: 中,如下所示: 02 WPF <Application xmlns="http://schemas.microsoft.com/winfx/2006...您应该看到如下内容: Caliburn.Micro创建了ShellViewModel,但不知道如何在没有视图的情况下渲染它。那么,让我们创建一个视图,让它查找。...您还可以看到,带有x:Name=“SayHello”的按钮绑定到ViewMModel上具有相同名称的方法。CanSayHello属性通过禁用按钮来保护对SayHello操作的访问。

    1.5K20

    C# WPF MVVM开发框架Caliburn.Micro常用功能指南②

    这是Caliburn.Micro项目中最常用的约定和功能的快速指南。 01 事件连接 这会自动将控件上的事件关联到ViewModel上的方法。...这在主/详细场景中非常有用,在主/详细场景中,ActionMessage可能会冒泡到父VM,但需要携带要执行操作的子实例。 $source 触发要发送的ActionMessage的实际框架元素。...$view 绑定到ViewModel的视图(通常是用户控件或窗口)。 $executionContext 操作的执行上下文,其中包含上述所有信息及更多信息。这在高级场景中很有用。...$this 操作附加到的实际UI元素。在这种情况下,元素本身不会作为参数传递,而是作为其默认属性传递。...长语法 Caliburn.Micro.CheatSheet.ShellView" xmlns="http://schemas.microsoft.com

    82320

    C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦

    Caliburn.Micro实现 这些概念通过各种接口和基类在CM中实现,这些接口和基类主要用于构建ViewModels。...让我们来看看它们: Screens 在Caliburn.Micro中,我们将屏幕激活的概念分解为几个界面: IActivate–表示实现者需要激活。...该方法是使用异步模式设计的,允许在做出密切决策时发生复杂的逻辑,如异步用户交互。调用方将向CanClose方法传递一个操作。实现者应该在保护逻辑完成时调用该操作。...之前,我们在Caliburn.Micro中讨论了屏幕和导体的理论和基本API。现在,我将介绍几个示例中的第一个。此特定示例演示如何使用导体和两个“页面”视图模型设置一个简单的导航样式shell。...一般来说,组合是面向对象编程最重要的方面之一,学习如何在表示层中使用它可以带来很大的好处。为了了解构图在这个特定示例中的作用,让我们看两个屏幕截图。

    2.6K20

    Caliburn.Micro学习笔记(二)----Actions

    上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持...再看一下ViewModel是怎么操作的 [Export(typeof(IShell))] class AppViewModel: PropertyChangedBase,IShell {...{ MessageBox.Show(str.ToString()+" "+str2); } } 我们说一下上面看到的$source Caliburn.Micro...提供了一些定义好的参数(不区分大小写)供我们在传递时用 ,当然我们也可以自定义我们自己的参数 $eventArgs — — 将触发器的 EventArgs 或输入的参数传递到您的行动。...这是Caliburn.Micro  Action的源码,默认的是Click和控件的LeftMouseButtonDown事件,有时间你可以详细读一下它的源码 ?

    86490

    C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧

    01 关于Conventions Caliburn.Micro的一个主要特性是,它能够通过一系列约定消除对锅炉铭牌代码的需求。有些人喜欢习俗,有些人讨厌习俗。...ViewModelBinder所做的最后一件重要事情是确定是否需要创建任何常规属性绑定或操作。为此,它在UI中搜索绑定/操作的候选元素列表,并将其与ViewModel的属性和方法进行比较。...这为Caliburn.Micro提供了必要的钩子,以便在每次从DataTemplate实例化UI时应用其约定。...框架使用 ViewModelBinder用于Caliburn.Micro内部的三个位置。第一个位置是View.Model附加属性的实现内部。...ElementConvention用于创建触发器,然后解析器将操作信息转换为ActionMessage。这两个元素连接在一起,然后添加到Interaction.Triggers元素的集合中。

    2.8K20

    C# WPF MVVM开发框架Caliburn.Micro自定义引导程序④

    01 自定义引导程序 在上一部分中,我们讨论了Caliburn.Micro WPF应用程序的最基本配置,并演示了与操作和约定相关的两个简单功能。在这一部分中,我想进一步探讨Bootstrapper类。...本例中我们将使用内置容器,但是Caliburn.Micro可以很好地处理任何容器。首先,继续学习第1部分的代码。我们将以此为出发点。...这是Caliburn.Micro查找视图的地方。您可以在应用程序期间的任何时候将程序集添加到此中,以使它们可用于框架,但在引导程序中也有一个特殊的位置来执行此操作。...可以从非Xaml主机使用Caliburn.Micro。...继承时,应将“false”传递给基构造函数的“useApplication”参数。这允许引导程序在不存在Xaml应用程序实例的情况下正确配置Caliburn.Micro。

    97110

    C# WPF MVVM开发框架Caliburn.Micro View View Model 命名⑨

    01 约定 在收到Caliburn Micro中有关视图和ViewModel解析的反馈后,我们添加了新功能,以简化类型解析,同时保持驱动它的健壮的基于正则表达式的名称转换机制。...为了更好地了解这些新功能以及类型解析通常如何在框架中工作,现在是详细描述框架支持的开箱即用的命名约定的适当时机。...尽管“视图”和“视图模型”可以被普遍理解,因为它们都是Caliburn Micro致力于的MVVM设计模式的重要方面,但“页面”这样的词却不是。...由于项目文件夹类似于操作系统文件夹,因此项目子文件夹也可以嵌套在多层中。...02 最后 原文标题:Caliburn.Micro Xaml made easy 原文链接:https://caliburnmicro.com/documentation/naming-conventions

    95120

    C# WPF MVVM项目实战(进阶②)

    这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体ImageProcessView,然后通过Treeview切换选择项之后在界面显示不同效果的图片...01 — 重要的知识点 本篇内容基于CM框架编写,涉及以下知识点: ①实现 INotifyPropertyChanged:在mvvm开发模式中,为了前台和后台更好的解耦合,前台界面一般通过绑定属性的方式获取属性值...由于StartViewModel继承了Caliburn.Micro.Screen,Caliburn.Micro.Screen实现了INotifyPropertyChanged,所以StartViewModel...继承Caliburn.Micro.Screen,即: public class ImageProcessViewModel : Caliburn.Micro.Screen -....--------------------------------------- 其它的知识点已经在之前讲解过,不懂得话参考以下链接阅读: C# WPF MVVM项目实战(进阶①) C# WPF框架Caliburn.Micro

    1.4K20

    C# WPF MVVM开发框架Caliburn.Micro IResult和协同程序⑥

    协同程序非常适合实现更熟悉的程序组件,如协作任务、迭代器、无限列表和管道。 在计算机科学中,协同程序是一种程序组件,它泛化子例程以允许多个入口点在某些位置暂停和恢复执行。...利用Caliburn.Micro中的这一特性需要两件事:首先,在某个类上实现IResult接口,表示您希望执行的任务;其次,从Action2生成IResult实例。让我们更具体一些。...我们还确保检查错误并在ResultCompletionEventArgs中传递该错误。...您还可以注入容器,但在本例中,我选择在内部使用IoC静态类。一般来说,你应该避免直接从容器中取出东西。但是,我认为在基础架构代码(如ShowScreen IResult)内部执行时,这是可以接受的。...其他用途 现成的Caliburn.Micro可以为通过ActionMessage调用的任何操作自动执行协同路由。但是,有时您可能希望直接利用协同程序特性。

    49420

    C# WPF实战项目升级了

    概述 之前用Caliburn.Micro搭建的WPF实战项目,CM框架选用了 3.0.3,实际上CM框架目前最新版已经到4.0。173了,所有很有必须升级一下项目了....packages.config迁移到 PackageReference(非必须) 这样做的好处包括精简内容与以及不再需要额外的packages.config文件 step2 :在弹出的对话框会列出顶级的依赖项和传递的依赖项...Nuget引用,在“管理Nuget程序包”的页面也可以看到已安装的Nuget变少了: Caliburn.Micro...支持的WPF的.NET最低版本是4.6.1,所有这些平台在3.x版本中仍然受支持. -. 重大变化,以下是4.0.0版本中包含的更改。 目标平台已更改,以支持新.NET平台版本。...屏幕和视图模型生命周期 所有支持视图模型生命周期的接口,如IActivate和IGuardClose,现在都支持异步实现。

    95720

    Vim 太难?试试这款现代直观 Linux文本编辑器

    厌倦了 Vi 和 Vim 不可思议的界面和键绑定?那就切换到 Micro 编辑器试试吧。 命令行文本编辑器证明了 Linux 终端的实用性,使您无需离开终端即可编辑文件。...这些工具非常流行,它们预装在大多数 Linux 发行版中。但是,某些编辑器(如 Vi 或 Vim)的学习曲线和键绑定对于初学者来说可能很难掌握。这是一个更简单的选择:Micro 文本编辑器。...通用但可自定义的键绑定 默认情况下,Micro 带有一些键绑定,类似于流行的文字处理器上的键绑定。但作为高级用户,您可以根据自己的喜好自定义这些绑定,并按照您想要的方式配置它们。...如何在 Linux 上安装 Micro 安装 Micro 编辑器简单明了。您可以根据您运行的 Linux 发行版选择多种安装方法中的任何一种。...您可以分别使用 Ctrl/Cmd + Z 和 Ctrl/Cmd+ Y 撤消和重做您的操作 ,就像您在文字处理器中所做的那样。要查找单词,您可以使用 Ctrl + F 快捷键。

    1.5K10

    C# WPF MVVM项目实战(进阶①)

    这篇文章还是在之前用Caliburn.Micro搭建好的框架上继续做的开发,今天主要是增加了一个用户窗体TestFormView,然后通过TabControl,将新增的窗体加载到主界面上进行分页显示,新增的页面引用了...TestFormView { get; set; } 然后在构造函数中实例化: TestFormView = new TestFormViewModel(); 最后在主窗体XMAL中附加引用:...获取或设置工具提示打开前的时间长度 ToolTipService.ShowDuration="7000" //显示时间 ToolTipService.BetweenShowDelay="2000"//获取或设置两个工具提示显示之间的最大时间...------------------------------------------------------------- 其它的知识点已经在之前讲解过,不懂得话参考以下链接阅读: C# WPF框架Caliburn.Micro...入门实例1 C# 项目实战(经典) 02 — 操作演示 03 — 结尾 项目源码网盘下载地址 链接:https://pan.baidu.com/s/1fMiqhFJiVfkDTzTAjjcvAQ

    2K20

    C# WPF CM框架从入门到精通(经典)

    概述 最近发的好多遍文章都是基于我搭建的Caliburn.Micro框架去叠加开发的,随着内容的增多,后续章节讲的内容,有些朋友没看前面文章的话有些就不好理解了,所以今天我就做个整体介绍,方便小伙伴们快速掌握...这个项目囊括了众多知识点:CM框架搭建、事件发布与订阅、log打印、ioc容器、Conductor的用法,框架下的命名约定以及事件绑定、Emgucv进行模板匹配、右键菜单、单例模式等等。...页面查看接收的内容: 其次主页面还添加了一个DataGrid,然后可以添加和删除数据,包括右键菜单: ④第三个Conductor页面就是为了讲解Conductor的用法,多页面管理,通过两个按钮可以进行两个页面的切换...⑦第七个页面是做了一个备忘录:包括了查询,筛选、删除、语音播报等功能,数据这块按理应该从数据库查询,偷懒了,直接读取了XML; ⑧最后个页面是个帮助文档页:这里每个页面里面的分立内容都在帮助文档中能找见

    92040

    Arduino 机器学习实战入门(上)

    下面的第一个教程将向您展示如何在Arduino板上安装一个神经网络来识别简单的语音命令。 ? 示例1:运行预训练的micro_speech推断示例。...它们是隐藏在数十亿日常用品中的隐形电脑,如可穿戴设备、无人机、3D打印机、玩具、电饭煲、智能插头、电动滑板车、洗衣机。连接这些设备的趋势是所谓物联网的一部分。...在机器学习方面,您可以使用一些技术将神经网络模型放入内存受限的设备(如微控制器)中。其中一个关键步骤是将权重从浮点量化为8位整数。这也有助于使推断更快地计算,并且更适用于较低的时钟速率设备。...例如: micro_speech—使用板载麦克风的语音识别 magic_wand——使用内置IMU的手势识别功能 person_detection—使用外部ArduCam相机进行人物检测 有关示例的更多背景知识...这些示例中的模型之前都经过了培训。下面的教程向您展示了如何在Arduino上部署和运行它们。在下一节中,我们将讨论培训。

    3.5K20

    C# WPF MVVM开发框架Caliburn.Micro 名称Transformer⑩①

    使用名称Transformer NameTransformer是在Caliburn.Micro v1.1中引入的,它是ViewLocator和ViewModelLocator如何将类名映射到其伙伴角色的一个组成部分...两个类都引用各自的NameTransformer静态实例,因此每个类都维护自己的一组规则。...[A-Za-z_]\w*View$" ); 这两个调用的“globalFilterPattern”参数相同,只是在第二个方法调用的参数中添加了“Views.”。...捕获组可以如示例中所示进行嵌套,以便“nsfull”捕获完整名称空间,“nsroot”、“nsstem”和“nsleaf”捕获该名称空间的各个组件。...最后 原文标题:Caliburn.Micro Xaml made easy 原文链接:https://caliburnmicro.com/documentation/name-transformer 翻译

    1.8K20
    领券