打破砂锅问-WPF原理-03-WPF样式设置和模板化、内联样式和模板
@TOC
前言做项目的时候,用到了WPF,总结下来,供以后参考,与诸君共勉。
一、WPF中的复用精神:内联样式和模板 Inline styles and templates
Windows Presentation Foundation (WPF) 提供了 Style 对象和模板对象(FrameworkTemplate 子类)作为定义资源中元素的视觉外观的方法,以便 用户可以多次使用它们 。
因此, 采用 Style 和 FrameworkTemplate 类型的 XAML 中的属性几乎总是对现有样式和模板进行资源引用,而不是定义新的嵌入式样式和模板。
1.嵌入式样式和模板的限制 Limitations of embedded styles and templates:
在 Extensible Application Markup Language (XAML) 中,样式和模板属性在技术上可通过两种方式进行设置
方式一:可以使用属性语法来引用已在资源中定义的样式
如 <objectStyle=”{StaticResourcemyResourceKey}” ...
打破砂锅问-WPF原理-02-WPF中的XAML
@TOC
前言做项目的时候,用到了WPF,总结下来,供以后参考,与诸君共勉。
一、XAML (Extensible Application Markup Language)1.Extensible Application Markup Language (XAML) 是一种用于声明性应用程序编程的标记语言:
Windows Presentation Foundation (WPF) 实现 XAML 处理器实现并提供 XAML 语言支持,怎么理解呢,其实呀:
XAML 根元素和 XAML 命名空间 XAML root element and XAML namespace
一个 XAML 文件只能有一个根元素,这样才能同时作为格式正确的 XML 文件和有效的 XAML 文件。
WPF 页的典型 XAML 文件的根元素,此根元素为 Page1234<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.mi ...
打破砂锅问~WPF原理(01:WPF体系结构)
@TOC
前言做项目的时候,用到了WPF,总结下来,供以后参考,与诸君共勉。
一、Windows Presentation Foundation (WPF)1.先补个作业:
Windows Presentation Foundation (WPF) ,Windows呈现基础,是微软新发布的Vista操作系统的三个核心开发库之一,是微软推出的基于Windows Vista的用户界面框架,属于. NET Framework 3.0的一部分。
2.WPF 主要编程模型编写。
在WPF主要组件中:(PresentationFramework、PresentationCore 和 milcore)是 WPF 的主要代码部分
PresentationFramework
托管组件【托管代码就是执行过程交由运行时管理的代码, 在这种情况下,相关的运行时称为公共语言运行时 (CLR),不管使用的是哪种实现(例如 Mono、.NET Framework 或 .NET Core/.NET 5+)。 CLR 负责提取托管代码、将其编译成机器代码,然后执行它。 除此之外,运行时还提供多个重要服务, ...
打破砂锅问~WPF原理
@TOC
前言做项目的时候,用到了WPF,总结下来,供以后参考,与诸君共勉。
一、理解和编写WPF,离不开理解和编写XAML1.前端三剑客:HTML、CSS、JAVASCRIPT
HTML:标签语言嘛
XAML和html多少还是有点类似的。只不过XAML上添加上了自动binding机制
2.WPF两个核心:也是MVVM等一系列框架的基础,也就是两个重要的接口
INotifyPropertyChanged
INotifyPropertyChanged接口实现了数据和UI的联动,数据改变,UI界面随之改变。UI界面,数据改变随之改变
这个接口可以理解为监听,生成的Model后,通过ViewModel对Model所有相关者进行监听
ICommand
3.WPF其中一个比较常用的框架就是MVVM(Model-View-ViewModel)
组成部分:
Model:各个实体类
View:就是显示的界面,在WPF中一般都是XAML这样的页面
ViewModel:官方的解释是连接Model和View的桥梁,封装和暴露一些逻辑处理方法。但个人认为,其实所有的控制和方法都在ViewMode ...
项目开发总结之如果控件要显示奇怪的内容,还要给两个地方存奇怪的东西,怎么办
@TOC
前言刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,碰到好的代码就要收集起来,【(一个Form页面有个控件要显示奇怪的内容,比如显示12-1、13-1,但是存到数据库的又得是12、13…,存到数据库的内容对应6个比特位,存到内存的又得是这六个比特位的值,你还得保证存到数据库的值和存到内存的比特位组合一致】,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
芯片开发流程,前情回顾
一、需求:(一个Form页面需要显示一个值,通过需要分析,咱们能通过下拉框Combox展示这个值,以供用户选择并查看这个值1.需求进一步梳理:需求给的是二进制的与十进制的对应关系,000000对应11、000010对应12(模式1)、001000对应12(模式2)、001010对应13(模式1)、001011对应12(模式2)、…101010对应16(模式1)、111011对应16(模式2),确定,二进制和十进制数是一一对应的,然后,开始:2.再页面上定义控件,比如你可以创建Form、UserController等,在上面玩呗12345 ...
如何将代码写的更健壮(02)---给人家起个好名字吧
@TOC
前言在工作中学习中,如同学算法学四大基础夯实基础一样,咱们要不断考虑的是如何将代码写的更健壮,这个很重要,那就开始学起吧,与诸君共勉。
一、给变量、常量、方法/函数、类起个好名字—–>好的命名,可不是命名越长越好哦1.变量和常数【Variables & Constants】
咱们常用变量及常数来存储用户等信息数据【用户的输入数据、某个页面上的控件返回的结果中渲染的数据、产品清单等】,那么经常用的名字,比如:
userData
userInputData
userLoginData
再比如,如果咱们用户群体之间无分别,那么咱们命名为user等是可以的,但是如果用户是有区别的,此时,咱们可以命名为AuthenticatedUser等,让每个阅读咱们代码的人都知道,此时操作的目标只是那些已经被认证过的用户。是不是稍微高效率了一点呢。
peterFamilyData
如果想显示某种特征,比如可以带上数据库,SqlXxx、MySqlXxx、RedisXxx…
peterTodayShopList -isValid
比如,如果咱们可以是一个二进制的结果,那 ...
如何将代码写的更健壮(01)---抛砖引命名
@TOC
前言在工作中学习中,如同学算法学四大基础夯实基础一样,咱们要不断考虑的是如何将代码写的更健壮,这个很重要,那就开始学起吧,与诸君共勉。
干净的代码1.干净的代码,不是指代码是否有效,而是指的是易于阅读和理解的代码
我们平时工作中会花很多时间去阅读代码、理解代码,因为我们必须要回到过去写的代码中来修复一个bug或者定制功能。所以阅读代码和理解代码会极大程度上影响咱们的生产力、效率。
Such as:
Shouble be readable and meaningful
Shouble be reduce cognitive load
Shouble be concise and “to the point”
Shouble be fun to write and to maintain
…
2.写干净代码的方法不止一种
需要注意的一点就是,专注于代码中任何命名的地方【变量、方法或者叫函数、常数、类等】
统一命名规范和风格
命名有意义, 让看的人一看就知道你这个命名的意思
变量的命名,应该能够表达出变量中存的什么
方法或函数的命名,应该能够表达出这个方法或函数要做什么, ...
HarmonyosDevelop(02):Harmonyos上能不能开发游戏呢
@TOC
前言-工欲善其事,必先看点书嘛,看啥书呢?,来来来,华为官网应有尽有,就把这当作日常查阅手册吧刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
华为官网,有开发IDE,有相关的教程
华为官网上详细的教程
Unity官方的C#教程:
初级教程:https://learn.u3d.cn/tutorial/beginner-gameplay-scripting
视频:https://www.bilibili.com/video/BV1oy4y1q7jJ/
中级教程:https://learn.u3d.cn/tutorial/intermediate-gameplay-scripting
视频:https://www.bilibili.com/video/BV1f5411G7bp/
巨人的肩膀
周志明老师的凤凰架构
https://developer.harmonyos.com/
https://d ...
HarmonyosDevelop(01):HarmonyosDevelop的大概学习路线&要学习的新东西
@TOC
前言-工欲善其事,必先看点书嘛,看啥书呢?,来来来,华为官网应有尽有,就把这当作日常查阅手册吧刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
华为官网,有开发IDE,有相关的教程
华为官网上详细的教程
一、鸿蒙开发1.开发工具:DevEco Studio
https://developer.harmonyos.com/cn/develop/deveco-studio#download
可以温习一下任叔叔的愿景:掌握HMS技术+鸿蒙应用开发技术+鸿蒙设备开发技术,有能力与华为一起构建万物互联的智能世界的人才,吾辈当自强呀!
总结一下:
HMS应用开发
鸿蒙应用开发
鸿蒙设备开发
2.鸿蒙技术架构【按架构的从上到下的顺序】
应用层
系统应用
桌面
控制栏
设置
电话
扩展应用/三方应用
框架层
系统基本能力子系统集
UI框架
用户程序框架
Ability框架
基础软件服务子系 ...
Unity-Learn03 IDE概念漫谈
@TOC
前言刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。[工欲善其事,必先看点书嘛,看啥书呢?](https://aiminminai.gitee.io/aiminminai/categories/%E6%B8%B8%E6%88%8F/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/Unity%E7%9A%84%E5%A4%A7%E6%A6%82%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF-%E8%A6%81%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%96%B0%E4%B8%9C%E8%A5%BF%E9%83%BD%E6%9C%89%E4%BB%80%E4%B9%88/)[游戏中的关卡?主角?怪物?,学名是啥](https://aiminminai.gitee.io/aiminminai/categories/%E6%B8%B8%E6%88% ...
