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

在WPF应用程序中使用Caliburn.Micro和MahApps。混乱的@ MaterialDesignInXaml文档,无法将其与MahApps集成

在WPF应用程序中使用Caliburn.Micro和MahApps是一种常见的开发模式,可以帮助开发人员快速构建现代化的用户界面。下面是对这两个工具的介绍和如何将它们集成到WPF应用程序中的步骤:

  1. Caliburn.Micro:
    • Caliburn.Micro是一个轻量级的MVVM(Model-View-ViewModel)框架,用于帮助开发人员实现WPF应用程序的解耦和可测试性。
    • 它提供了一种简单而强大的方式来管理视图、视图模型和模型之间的交互,并且具有自动绑定、命令绑定、导航管理等功能。
    • Caliburn.Micro的优势在于简化了开发过程,提高了代码的可读性和可维护性。
  • MahApps:
    • MahApps是一个开源的WPF样式库,提供了一套现代化的控件和主题,可以帮助开发人员快速创建漂亮的用户界面。
    • 它包含了许多常用的控件和样式,如按钮、文本框、菜单、对话框等,同时还提供了多种主题选择。
    • MahApps的优势在于提供了一致的外观和交互体验,使应用程序看起来更加专业和现代化。

集成步骤:

  1. 首先,确保你的WPF应用程序已经安装了Caliburn.Micro和MahApps的NuGet包。
  2. 在App.xaml文件中,添加以下命名空间引用:
  3. 在App.xaml文件中,添加以下命名空间引用:
  4. 在App.xaml文件中,将Application.Resources部分替换为以下内容:
  5. 在App.xaml文件中,将Application.Resources部分替换为以下内容:
  6. 在ShellView.xaml文件中,将Window的样式更改为MahApps的MetroWindow:
  7. 在ShellView.xaml文件中,将Window的样式更改为MahApps的MetroWindow:
  8. 在ShellViewModel.cs文件中,继承自Conductor类,并使用Caliburn.Micro的导航方法来管理视图之间的切换:
  9. 在ShellViewModel.cs文件中,继承自Conductor类,并使用Caliburn.Micro的导航方法来管理视图之间的切换:
  10. 在ShellView.xaml文件中,使用Caliburn.Micro的绑定语法来导航到不同的视图:
  11. 在ShellView.xaml文件中,使用Caliburn.Micro的绑定语法来导航到不同的视图:

通过以上步骤,你就可以在WPF应用程序中同时使用Caliburn.Micro和MahApps来构建现代化的用户界面了。请注意,以上答案中没有提及腾讯云的相关产品和链接地址,因为该问题与云计算品牌商无关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET Core.NET5.NET6 开源项目汇总11:WPF组件库1

开源项目是众多组织个人分享组件或项目,作者付出心血我们是无法体会,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。...1、MaterialDesignInXAML MaterialDesignInXAML完全开源,是WPF最流行GUI库之一,该库还与MahAppsDragablz兼容。...通过XAML工具箱设计,可以使用现代流行设计语言轻松地将漂亮桌面应用程序带到生活。...组件特征 支持大多数标准WPF控件样式变体 更多附加控件,以支持材质设计美观性流动性 设计运行时轻松配置材质设计调色板 用于轻松构建GUI动画转换API 独立工作,也与其他流行WPF框架...样式自定义控件     Metro还包括一些基于WindowsPhone、Windows8Windows10(UWP)应用程序概念自定义控件。

2.8K30
  • 14.7K Star一套遵循谷歌设计规范C#控件库

    微信公众号:[开源日记],分享10k+Star优质开源项目 MaterialDesignInXamlToolkit 是一个开源、专为 WPF 应用程序设计 UI 控件库,它允许开发者 C# 或...这个工具包不仅提供了丰富控件样式,还包含了多种转换效果,使得开发者能够创建出既现代化又具有吸引力桌面应用程序。...功能特点 1.控件样式:为 WPF 框架大多数主要控件提供 Material Design 风格样式变体。...5.兼容性:流行 WPF 框架 MahApps Dragablz 兼容,可以独立使用或与其他框架结合使用。 6.MVVM 框架中立:不依赖于特定 MVVM 框架,提供了更大灵活性。...使用场景 桌面应用程序开发:适用于需要现代化界面的桌面应用程序。 快速原型制作:提供快速构建和测试 Material Design 风格界面的能力。

    9610

    介绍一款最受欢迎.NET 开源UI库

    概述 今天要带大家了解是一款WPF开源控件库MahApps.Metro。MahApps.Metro是用于创建现代WPF应用程序工具包,它许多开箱即用好东西。...官网学习文档地址:https://mahapps.com/docs/ 风格赏析 Theme有两款,深色浅色:下面只展示浅色主题 Progress进度条:这里提供了好几款,样式很优雅 datagrid...:表格控件 hamburger Dialogs:消息弹框 用法介绍 看了上面的控件风格,想必有很多小伙伴已经迫不及待想知道这套控件库如何在自己项目中使用了,接下来小编就带你正式体验MahApps.Metro...首先,创建项目,然后github上搜索引用:如果要体验预先发型版,可以勾选图片中红框部分 MahApps内置风格主题: 使用MetroWindows:要开始全面的MahApps造型全面的窗口支持.../winfx/xaml/controls" 前台xmal全部代码如下: 您还需要修改窗口文件代码,以便基类XAML文件MetroWindow类匹配: 这样保存后重新编译运行,就会看到窗体样式已经发生改变

    1K30

    为Form自定义Window添加FunctionBar

    前言 我常常看到同一个应用程序表单按钮————也就是“确定”、“取消”那两个按钮————实现得千奇百怪,其实只要使用统一Style起码就可以统一按钮大小,而我喜欢更进一步将”确定“、”取消“或其它按钮封装进一个自定义控件里...这篇文章介绍了另一种ItemsControl实现方式,并使用它为表单及自定义Window添加常用按钮及其它功能。 2....为Form添加FunctionBar 本来打算派生自ToolBar,或者参考UWPCommandBar,但最后决定参考MahApps.MetroWindowCommands创建了FormFunctionBar...然后Form添加FunctionBar属性,并在控件底部放一个PlaceHolder: <RowDefinition...为自定义Window添加按钮 为自定义Window标题栏添加一些按钮也是个常见需求,原理FormFunctionBar一样,只需要在自定义Window适当位置放置一个PlaceHolder,然后把

    76630

    自定义一个“传统” Validation.ErrorTemplate

    如果用户输入值无效,你可能希望应用程序 用户界面 (UI) 上提供一些有关错误反馈。...,它使用Binding [0].ErrorContent显示ValidationErrors附加属性(是一个ReadOnlyObservableCollection类型集合)第一条内容(也可以做成一个显示所有错误...接下来再在OpenClosed两个VisualState处理一下动画,就大功告成了。...结语 Validation.Error没有办法一次性为所有控件统一设置,只能在全局样式为所有控件都分别设置一次,例如上面出现`TextBoxStyle,这会很麻烦,毕竟WPF控件还不少。...除了我实现方式,MahApps.Metro实现更加优秀,有兴趣的话也可以参考它源码: MahApps.Metro_ValidationErrorTemplate.xaml ? 5.

    1.5K40

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

    01 启动项目 打开Visual Studio 创建一个名为“Caliburn.Micro.Hello”WPF应用程序 添加对Caliburn.Micro Nuget包引用,最新版本是4.0.173...为此,请更新App.xaml,将引导程序添加到您资源,如下所示: 02 WPF <Application xmlns="http://schemas.microsoft.com/winfx/2006...资源和它将完成其余<em>的</em>工作。现在,运行<em>应用程序</em>。您应该看到如下内容: <em>Caliburn.Micro</em>创建了ShellViewModel,但不知道如何在没有视图<em>的</em>情况下渲染它。...您现在应该可以看到UI: <em>在</em>文本框中键入内容将启用该按钮,单击该按钮将显示一条消息: 03 工作原理 <em>Caliburn.Micro</em><em>使用</em>一个简单<em>的</em>命名约定来定位ViewModels<em>的</em>视图。...这些是<em>Caliburn.Micro</em><em>的</em>ActionMessage<em>和</em>Conventions功能<em>的</em>基础。 还有很多东西要展示。接下来,我们可以<em>集成</em>一个IoC容器,比如MEF。

    1.5K20

    【值得收藏】收集了.Net 不少资源

    官网 N2CMS:开源、轻量、代码优先 CMS,可以无缝地集成到任何 MVC 项目中。 官网 Orchard:免费、开源、专注社区项目,目标是 ASP.NET 平台上提供应用程序可重用组件。...官网 Gendarme:可扩展、基于规则工具,用于 .NET 应用程序类库查找问题。 官网 Metrics-Net:捕获 CLR 应用程序级别的度量值。所以你知道它功能。...官网 AvalonEdit: SharpDevelop 中使用,基于 WPF 文本编辑器组件。 官网 XWT:跨平台 UI 工具箱,用于创建 .NET Mono 桌面应用程序。...官网 Fluent.Ribbon:Fluent Ribbon Control Suite 是一个 WPF 实现 Office Windows 8 风格 Ribbon 库。...官网 NancyFx: .Net Mono 平台上创建 HTTP 服务一个轻量级、非正式框架。 官网 IISNode: IIS 宿主 NodeJS 应用程序

    3.1K20

    .Net开源框架

    官网 N2CMS:开源、轻量、代码优先 CMS,可以无缝地集成到任何 MVC 项目中。官网 Orchard:免费、开源、专注社区项目,目标是 ASP.NET 平台上提供应用程序可重用组件。...官网 StyleCop:StyleCop 使用一组风格一致性规则,对 C# 源代码进行分析强制性检查。官网 Gendarme:可扩展、基于规则工具,用于 .NET 应用程序类库查找问题。...官网 AvalonEdit: SharpDevelop 中使用,基于 WPF 文本编辑器组件。官网 XWT:跨平台 UI 工具箱,用于创建 .NET Mono 桌面应用程序。...官网 Fluent.Ribbon:Fluent Ribbon Control Suite 是一个 WPF 实现 Office Windows 8 风格 Ribbon 库。...官网 NancyFx: .Net Mono 平台上创建 HTTP 服务一个轻量级、非正式框架。官网 IISNode: IIS 宿主 NodeJS 应用程序

    6.9K30

    使用WindowChrome问题

    GetSystemMetrics(SM_CXPADDEDBORDER) : 0); WPF这几个值分别映射到SystemParameters相关属性: 系统值 SystemParameters属性...然后用Inspect观察它边框。可以看到Window实际上范围没什么问题。但标准Window对比就可以看出有区别,我之前文章中介绍过标准Window实际范围用户看到并不一样。 ?...自定义WindowControlTempalte使用Trigger最大化状态下将边框改为0,然后加上WindowResizeBorderThicknessPaddingPaddedBorderThickness...,所以改为OnSourceInitialized执行了。...其它自定义Window方案 Kino.Toolkit.Wpf里我只提供了最简单使用WindowChrome方案,这个方案只能创建没有圆角Window,而且不能自定义边框阴影颜色。

    1.4K40

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

    Screens Conductors Screen、ScreenConductorScreenCollection模式支持基于模型活动或当前项目跟踪,强制执行屏幕生命周期,并在应用程序优雅地关闭或取消关闭...View 定位器 对于应用程序每个ViewModel,Caliburn.Micro都有一个基本策略来定位应该渲染它视图。我们是根据命名约定来做这件事。...Window Manager窗口管理器 此服务提供以视图模型为中心窗口显示方式(SilverlightChildWindow、WPFWindow、Windows Phone自定义本机样式主机...我一直很小心地使ApplicationDeveloperAPICaliburn完整版本保持一致。事实上,我Caliburn.Micro中所做改进正在被重新折叠到Caliburn v2。...您可以开始使用Caliburn.Micro进行开发,然后,如果您遇到边缘情况或有其他需要转移到Caliburn,您将能够应用程序中进行少量更改或不进行任何更改。

    1.7K20

    C# WPF实战项目升级了

    概述 之前用Caliburn.Micro搭建WPF实战项目,CM框架选用了 3.0.3,实际上CM框架目前最新版已经到4.0。173了,所有很有必须升级一下项目了....:弹出对话框会列出顶级依赖项传递依赖项,还会询问是否将后者升级到顶级依赖项,这个项目无需做任何改变,直接点击“确定”: step3:打开Caburn.Micro.Hello.csproj,会发现少了些东西...支持WPF.NET最低版本是4.6.1,所有这些平台3.x版本仍然受支持. -. 重大变化,以下是4.0.0版本包含更改。 目标平台已更改,以支持新.NET平台版本。...这些措施包括: 事件聚合器 事件聚合器有一些重大突破性更改,将其引入异步实现方法,这是4.0.0主要原因。完整更改可在事件聚合器迁移文档中找到。...屏幕视图模型生命周期 所有支持视图模型生命周期接口,如IActivateIGuardClose,现在都支持异步实现。

    94420

    使用WindowChrome自定义Window Style

    前言 做了WPF开发多年,一直未曾自己实现一个自定义Window Style,无论是《WPF编程宝典》或是各种博客都建议使用WindowStyle="None" AllowsTransparency...光是性能问题就足以放弃WindowStyle="None" 实现方式,幸好还有使用WindowChrome实现方式,但一时之间也找不到理想实现,连MSDN上文档( WindowChrome Class...WindowChrome类窗口框架功能分离开来视觉对象,并允许您控制客户端应用程序窗口非工作区之间边界。...HeightWidht值分别使用了SystemParameters.SmallIconHeightSystemParameters.SmallIconWidth,SystemParameters包含可用来查询系统设置属性...看上去是内容SizeWindowSize计算错误,目前解决方法是CustomWindow添加以下代码,简单粗暴,但可能引发其它问题: protected override void OnContentRendered

    2.2K20

    DotNet 资源大全中文版(Awesome最新版)

    - 动画,MVVM导向现代图表库 GUI 图形用户界面 MahApps.Metro -用于创建Metro风格WPF应用程序工具包 Callisto - Windows 8 XAML应用程序控制工具包...GUI框架 Dragablz - 可拆卸,可撕裂WPF选项卡控件(类似于Chrome),支持布局,并且是完全主题,包括MahAppsMaterial Design兼容主题。...MVVM Light Toolkit - 该工具包主要目的是加速WPF,Silverlight,Windows Store(RT)Windows Phone创建和开发MVVM应用程序 Catel...ReactiveUI - 集成了反向扩展(Rx)框架.NET MVVM框架,使开发人员能够使用WPF,Windows Store Apps,WP8或Xamarin构建优雅,可测试应用程序....NET应用程序执行火灾忘记,延迟重复执行任务简单方法 Chroniton - 一个简单,完全可集成可定制库,用于计划上运行强类型作业(任务)。

    16.2K82
    领券