WPF + 布局(Grid网格+StackPanel水平垂直布局) + MVVM + 自定义组件(按钮)
目录
WPF + 布局(Grid网格+StackPanel水平垂直布局) + MVVM + 自定义组件(按钮)
3.4.自定义控件 Button(类似自定义组件cs+style.xaml)
3.4.3.自定义按钮添加”依赖属性“(Button本身无Radius属性)
3.4.6. 自定义按钮对外暴露Border.background属性
3.6.1. 自定义控件 PasswordBox 附加说明!!
3.6.2. 修改PasswordBox.Password属性光标位置问题
第一章:项目结构介绍
WPF_study.csproj 用处:
① 具体vs按照什么文件类型来编译程序
② 指定使用哪个.net frameworkVersion 版本 v4.8
③ 编译好之后exe应该放什么地方;debug模式下放<OutputPath>bin\Debug</OutputPath>
④ 当前代码文件引用了哪些dll文件(工具类库:System.Xml.Linq....)
找初始项目
① 编译这个初始项目时,会参照 csproj文件,看它里面有什么配置(.net framework什么版本之类、看它是控制台应用程序还是windows可执行应用程序、编译后输出路径是\bin\Debug)
② 点击编辑器的“启动按钮”,其实也是触发编译的过程,然后帮我们执行\bin\Debug文件夹下的exe可执行程序
③ WPF_Study_solution.sln文件(有点类似java 的聚合项目moduleParent)
④ 移除,只会在解决方案上移除(显示移除),不会真正删除项目
⑤ 结构介绍
obj文件夹:编译中途产生的一个文件,协助你排查一些问题
Properties/resources.resx: 可以加载一些图片资源;如果想要打包一些图片资源到exe文件里面,需要在resources里面添加资源文件
App.xaml.cs:专门写c#代码
App.xaml : 界面描述文件 (主体上一个界面xaml对应一个cs文件)
⑥ 如果网上下载的项目没有解决方案文件sln;那么就打开子项目的csproj项目文件即可(可能会后期自动帮你创建一个sln文件)
第二章:初步创建WPF程序,界面介绍
① App.xaml 控制着启动页面 MainWindow.xaml
② Xaml 界面描述文件中指定了 cs类文件,预示着编译的时候,这俩文件一起编译
③ xaml.Content只能设置一次
2.1 界面布局
2.1.1. Grid网格布局
① RowDefinition 行没设置高度的话,默认填满
① StackPanel布局面板可嵌套使用
② width="200"绝对长度200,width="2*"代表百分比/占比例(所有比例加一起);width="AUTO"代表根据内容大小缩放; Column只能设置width,Row只能设置height
2.1.2. 栈布局 (类似水平|垂直布局)
① 默认就是第一列显示 Grid.Column="0" Grid.Row="0"
2.2. 像素说明
只于DPI有关,与像素无关;电脑DPI设置的不同,尺寸大小也不同;DPI:大小=96:1;DPI=120的设备,每个WPF单位=120/96=1.25个像素;DPI=96,每个WPF单位=1个像素
WPF的尺寸单位,可能直接就类似网页里面的计算单位(vw、vh等),根据电脑分辨率的不同而变化
2.3. Style控件样式
和网页css类似,居然把xml写成这个鸟样。。。。。不愧是微微软了一下
① 此写法可以用来切换主题,用不同的style
② 继承默认样式,在它基础上修改样式