metro

C# WPF

会有一股神秘感。 提交于 2020-07-26 15:43:39
前言 本文主要讲解采用WPF MVVM模式设计OPC Client的过程,算作对于WPF MVVM架构的学习记录吧!不足之处请不吝赐教,感谢! 涉及知识点 C#基础 Xaml基础 命令、通知和数据绑定 Prism+Blend MahApps.Metro(第三方框架) OPC 项目实现功能 用户登陆(模拟登陆过程,未连接数据库) OPC同步读写、异步读写操作等 开发环境 Window 10 Visual Studio 2019 .Net Framework 4.8 成品效果图 项目详解 MVVM框架搭建 为了节省开发时间,在事件绑定上使用了Prism框架,OPC通信方面使用了OPCDAAuto.dll类库,二者均可以通过Nuget方式安装到项目中。 定义了一个DelegateCommand类用来处理属性和命令; 定义了一个NotificationObject类用来通知属性和命令的改变; 注意:在使用事件绑定时,需要添加引用 xmlns:i="http://schemas.microsoft.com/xaml/behaviors",然后根据控件对应事件的名称设置绑定命令即可。 比如我们想给ComboBox的SelectionChanged事件设置一个事件绑定,可这么写 xaml代码: < ComboBox x:Name ="CombServerList" Width ="120"

C#/.Net Core/WPF框架初建(国际化、主题色)

两盒软妹~` 提交于 2020-04-18 14:41:43
C#/.Net Core/WPF框架初建(国际化、主题色) English | 简体中文 作为 TerminalMACS 的一个子进程模块 - WPF管理端,目前搭建框架部分功能:本地化、国际化、主题色修改等。 导航目录 框架已添加功能说明 1.1. 国际化、本地化 1.2. Metro风格主窗体 1.3. 动态更换主题色 关于TerminalMACS及本WPF管理端 关于项目开源 参考资料 1. 框架已添加功能说明 1.1. 国际化、本地化 源码放在Github上,希望分享给更多人,所以添加了国际化功能,默认支持中、英、日三国语言,按照已有套路扩展其他语言也方便,看下面的效果: 本项目(TerminalMACS的WPF管理端)使用的资源字典存储翻译文件,其他方式还有资源文件、微软官方的国际化方案(未研究)等。下面是翻译文件截图: 三个资源文件使用需要注意: 选择一个默认文件(比如en.xaml,英文)作为默认语言文件,需要将生成操作属性设置为 "页", 设置截图如下: 其他语言文件设置生成操作属性为内容,设置截图如下: 需要将默认语言资源文件添加到App.xaml中,其他语言不用: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries>

C#/.Net Core/WPF框架初建(国际化、主题色)

落花浮王杯 提交于 2020-04-18 11:40:05
C#/.Net Core/WPF框架初建(国际化、主题色) English | 简体中文 作为 TerminalMACS 的一个子进程模块 - WPF管理端,目前搭建框架部分功能:本地化、国际化、主题色修改等。 导航目录 框架已添加功能说明 1.1. 国际化、本地化 1.2. Metro风格主窗体 1.3. 动态更换主题色 关于TerminalMACS及本WPF管理端 关于项目开源 参考资料 1. 框架已添加功能说明 1.1. 国际化、本地化 源码放在Github上,希望分享给更多人,所以添加了国际化功能,默认支持中、英、日三国语言,按照已有套路扩展其他语言也方便,看下面的效果: 本项目(TerminalMACS的WPF管理端)使用的资源字典存储翻译文件,其他方式还有资源文件、微软官方的国际化方案(未研究)等。下面是翻译文件截图: 三个资源文件使用需要注意: 选择一个默认文件(比如en.xaml,英文)作为默认语言文件,需要将生成操作属性设置为 "页", 设置截图如下: 其他语言文件设置生成操作属性为内容,设置截图如下: 需要将默认语言资源文件添加到App.xaml中,其他语言不用: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries>

React Native 0.62 发布,添加暗黑模式支持

柔情痞子 提交于 2020-04-10 07:50:22
前言 一直以来,在不同平台开发和维护同一款产品,所付出的成本和代价都是一个令人头疼的问题,于是各类跨平台开发方案顺应而生。从Web容器方案到以React Native、Weex为代表的泛Web容器方案,最后再到以Flutter为代表的自绘引擎方案,这些优秀的跨平台开发框架们慢慢抹平了各个平台的差异,使得操作系统的边界变得越来越模糊。 最近一年来,随着Google对Flutter推广力度的加大,老牌的跨平台技术,如React Native、Weex开始走下坡路,不过还是有很多的公司仍然在使用它,加上FaceBook也并没有放弃对React Native的更新,最近FaceBook更新了React Native的0.62版本,带来了Flipper调试工具和新的暗黑模式支持。 React Native 是基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App,已经有多个应用使用它来进行跨平台手机应用开发。React Native的原理是在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以 <View> 取代 <div> ,以 <Image> 替代 <img> 等。 在实现原理方面,React Native在主线程之外,在另一个背景线程里运行JavaScript引擎

.NET Core 3 WPF MVVM框架 Prism系列之区域管理器

陌路散爱 提交于 2020-04-08 14:58:53
原文: .NET Core 3 WPF MVVM框架 Prism系列之区域管理器 本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用区域管理器对于View的管理 一.区域管理器 # 我们在之前的Prism系列构建了一个标准式Prism项目,这篇文章将会讲解之前项目中用到的利用区域管理器更好的对我们的View进行管理,同样的我们来看看官方给出的模型图: 现在我们可以知道的是,大致一个区域管理器RegionMannager对一个控件创建区域的要点: 创建Region的控件必须包含一个RegionAdapter适配器 region是依赖在具有RegionAdapter控件身上的 其实后来我去看了下官方的介绍和源码,默认RegionAdapter是有三个,且还支持自定义RegionAdapter,因此在官方的模型图之间我做了点补充: 二.区域创建与视图的注入 # 我们先来看看我们之前项目的区域的划分,以及如何创建区域并且把View注入到区域中: 我们把整个主窗体划分了四个区域: ShowSearchPatientRegion :注入了ShowSearchPatient视图 PatientListRegion :注入了PatientList视图 FlyoutRegion :注入了PatientDetail和SearchMedicine视图

daily scrum 12.1

感情迁移 提交于 2020-03-16 14:01:07
今日任务 做了什么 明日任务 李嘉良 (18)写换皮肤功能 努力实现换肤功能中 争取完成换皮肤的功能 王泓洋 (29)优化metro图标 给整个界面都换上了metro图标 学习软件文档的撰写(280) 王熹 (29)优化metro图标 给整个界面都换上了metro图标 summary的bug修复(280) 王冬 (286)tag bug修复 了解xaml 开始动手改 刘明 (30)单元测试 了解测试报告的撰写 试着写写测试报告 由之望 (284)窗口细节优化 继续做窗口调整 争取完成 付博扬 (284)窗口细节优化 继续做窗口调整 争取完成 来源: https://www.cnblogs.com/WWW-Buaa/archive/2012/12/01/2797837.html

【更新】SyntaxEditor发布v2018.1,可共享相同代码库

大憨熊 提交于 2020-03-13 13:52:50
SyntaxEditor最新版本下载 SyntaxEditor 是一款强大的代码语法检验控件,采用了当今最前沿的代码编辑的技术,可以为你代码编辑提供强大的管理功能。最新版支持Visual Studio 2013和Windows 8.1。 SyntaxEditor 几乎具备了现在VS.NET 中的code editor所拥有的全部功能,可以轻松的为你的应用程序自定义代码的检验方式。其主要功能包括:multi-language support, a regex parsing engine, outlining, undo/redo, indicators, split views, IntelliPrompt, word wrap等等。 新版本重构SyntaxEditor's IntelliPrompt UI features 的许多内部结构,以便在WPF、UWP和Winforms平台上共享相同的代码库。 虽然WPF和UWP版本的API基本上保持不变(对完成过滤器进行了一些小的调整),但WinForms版本将看到一些巨大的新功能,尤其是完成功能。 IntelliPrompt Features Summary Video 在所有三个SyntaxEditor VNext平台中都可以使用的完成列表功能的可视化摘要。这段视频显示了WPF SyntaxEditor 使用我们的advanced

Windows 8 Metro 风格应用开发

余生颓废 提交于 2020-03-07 11:56:42
Windows 8 Metro 风格应用开发 http://social.msdn.microsoft.com/Forums/zh-CN/metroappzhcn/thread/609990c4-b251-4419-b897-2a095eee67c1 Metro 风格应用 http://msdn.microsoft.com/zh-cn/library/windows/apps/br211386.aspx 适用于 Metro 风格应用的 UX 指南 http://msdn.microsoft.com/zh-cn/library/windows/apps/hh465424.aspx 使用 C# 或 Visual Basic 创建你的第一个 Metro 风格应用 http://msdn.microsoft.com/zh-cn/library/windows/apps/br211380.aspx Metro 风格应用的导航设计 http://msdn.microsoft.com/zh-cn/library/windows/apps/hh761500.aspx 来源: https://www.cnblogs.com/star250/archive/2012/03/09/2387944.html

Windows 8 应用开发技术资源

浪尽此生 提交于 2020-03-07 11:54:12
Windows 8 应用开发角色入门课程 课程总入口 http://www.buildwindows.com/Sessions 开发总入口 http://dev.windows.com/ 本人博客 http://www.kuaipao8.com 必读 Window 8 应用的 8 个新特性 http://channel9.msdn.com/events/BUILD/BUILD2011/BPS-1004 SDK 查询 http://msdn.microsoft.com/en-us/library/windows/apps/br211369.aspx 用户界面设计 & 及产品定义 Windows 8 用户界面设计准则 http://channel9.msdn.com/events/BUILD/BUILD2011/APP-395T Windows 8 触摸界面设计 http://channel9.msdn.com/events/BUILD/BUILD2011/APP-391T 使用 CSS3 设计用户界面 http://channel9.msdn.com/events/BUILD/BUILD2011/PLAT-873T 使用 Blend 设计 HTML 应用 http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-486T 使用

ABPZero系列教程之拼多多卖家工具 项目修改及优化

南楼画角 提交于 2020-03-02 16:49:22
本篇内容杂而简单,不需要多租户、不需要多语言、使用MPA(多页面)、页面加载速度提升…… 刚登录系统会看到如下界面,这不是最终想要的效果,以下就一一来修改。 不需要多租户 AbpZeroTemplateConsts.cs代码修改如下 文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\AbpZeroTemplateConsts.cs /// <summary> /// false为不启用多租户,默认为启用 /// </summary> public const bool MultiTenancyEnabled = false; 使用本地时钟 Global.asax.cs代码修改如下 文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Global.asax.cs protected override void Application_Start(object sender, EventArgs e) { //Use UTC clock. Remove this to use local time for your