WPF项目实战视频《一》(主要为WPF基础知识)

1.WPF布局:
Grid,stackPanel,wrapPanel,DockPanel,UniformGrid
Grid 按行列布局,
Grid.ColumnDefinitions列,Grid.RowDefinitions行
Grid.Row=“0” Grid.Column=“0”
stackPanel 默认从上往下排列
wrapPanel 默认水平排列
DockPanel 可拖拽
UniformGrid 也有行列区分:在有限的空间内均分剩余的空间
orientation 按行排列
Border装饰控件

2.wpf样式基础(Style:属性):修饰WPF的外观和行为
资源样式resources
Style 中x:key=“ButtonStyle"为给该属性命名,TargetType=“Button"为属性生效的控件类型,然后setter property声明属性 value给声明的属性赋值。BaseOn可设置继承的样式类型
在需要使用该属性的控件中,加上Style=”{StaticResource ButtonStyle}”

3.WPF控件模板:ControlTemplate
定义外观,可以根据模板去生成默认的样式

4.WPF数据模板:DataTemplate
定义数据可视化的结构
创建列表类型的控件:ListBox
以往会根据定义的控件名字,在代码中从控件名字中进行操作

5.WPF绑定
数据发生改变时,不需要操作控件(之前的办法),绑定之后控件自动发生改变

//slider 为Slider 控件x:name="slider"命名的,
<TextBox Text="{Binding ElementName=slider ,Path=Value}"	...>还可以用mode区分绑定模式,单向绑定和双向绑定

6.WPF命令(ICommad)
直接创建另外一个类处理MyCommand继承自ICommand
再再mainWiewModel中使用MyCommand完成业务功能接口

//ShowCommand为mainWiewModel中的实现的业务功能接口
<Button Command="{Binding ShowCommand}" />

8.通知更新
解决在初始化赋值外,在业务功能中将数据进行修改页面不会进行对应修改的问题。

自己创建一个类ViewModelBase,继承自iNotifyPropertyChanged,实现对应的接口
让mainWiewModel继承自ViewModelBase

//先创建
public event PropertyChangedEventHandler PropertyChanged;
private void RaiseProChanged(string propertyName)
{PropertyChangedEventHandler handler = PropertyChanged;if (handler != null){handler(this, new PropertyChangedEventArgs(propertyName));}
}private string name;
public string Name
{get{ return name;}set { name = value;]RaiseProChanged("Name");
}

9.WPF框架:MvvmLight 为一个框架包
例如通知等功能,能有别人封装好的包 有更多的功能接口 使用更方便

10.WPF框架:MicrosoftToolkitMVVM (基于MvvmLight 的扩展,有性能上的一些提升)
继承的类名,函数名字进行对应修改
MicrosoftToolkitMVVM git地址

11.WPF绑定绑定性总结

12.资源基础(资源字典)

<window.Resourse><solidColorBrush  x:Key="SolidColor" Color="Red" />
</window.Resourse>//使用时:
<Button  BorderBrush="{StaticResource SolidColor}"		//但是为静态加载仅加载一次后续更改不会更新,不会更改的情况使用<Button  BorderBrush="{DynamicResource SolidColor}"		//动态加载

如果有很多资源那需要添加资源字典的文件,把资源全添加到里面去

13.动画基础(省略没看)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/47211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop3:MR程序压测实验

一、环境要求 内存&#xff1a;128G CPU&#xff1a;32C 磁盘&#xff1a;8T 注&#xff1a;一个虚拟机不超过150G磁盘尽量不要执行这段代码 二、案例 1、需求 使用Sort程序评测MapReduce 2、操作步骤 1、使用RandomWriter来产生随机数&#xff0c;每个节点运行10个Map任…

LabVIEW机器学习实现外观检测

介绍如何利用LabVIEW平台结合机器学习技术实现对被测样品的外观检测。详细说明了硬件选择、算法使用、操作步骤以及注意事项。 硬件选择 工业相机&#xff1a;高分辨率工业相机&#xff08;如Basler、FLIR等&#xff09;用于采集样品的图像。 照明设备&#xff1a;均匀的LED照…

C++ 多态:探索对象的动态行为

C 多态&#xff1a;探索对象的动态行为 在C中&#xff0c;多态性是一种强大的特性&#xff0c;它允许我们通过基类指针或引用来调用派生类的方法。多态性不仅增加了程序的灵活性&#xff0c;还使得代码更加易于扩展和维护。本文将深入探讨C中的多态性&#xff0c;包括静态多态&…

代理高并发如何去解决?

代理高并发问题的解决方法涉及多个层面&#xff0c;包括架构设计、资源优化、技术选型等方面。以下是一些具体的解决方案&#xff1a; 1. 架构设计 分布式架构&#xff1a; 微服务架构&#xff1a;将大型应用拆分为多个小型服务&#xff0c;每个服务独立部署、扩展和升级&…

C++:现代软件开发的驱动力与未来展望

随着技术的不断进步和软件工程的日益复杂&#xff0c;C作为一门历史悠久但充满活力的编程语言&#xff0c;在现代软件开发中扮演着越来越重要的角色。本文将探讨C在现代软件开发中的应用现状及其未来发展趋势。 一、现代软件开发中的C 高性能计算&#xff1a;随着大数据、人工…

模型优化—数据增强

一、背景 增加训练数据&#xff0c;肯定能解决过拟合问题&#xff0c;但是数据的获取往往是特别难的。故针对已有数据的数据增强应运而生。 二、数据增强 数据增强是一种生成合成数据的方法&#xff0c;通过调整原来样本来创建新样本&#xff0c;这样就可以获得大量的数据&a…

沪金和伦敦金一致吗?什么因素在作怪?

沪金也就是上海金&#xff0c;是上海黄金交易所推出的一款的黄金投资理财交易品种&#xff0c;其交易特性与国际市场上的伦敦金相类似&#xff0c;二者都是采用双向式杠杆保证金交易。但它们也有不同之处&#xff0c;比如货币和重量的计价单位的差异&#xff0c;伦敦金是用美元…

汽修工厂的安全守护者!防滑耐磨劳保鞋,匠心守护你的每一步

在城市的喧嚣中&#xff0c;有这样一群匠人&#xff0c;他们手持扳手&#xff0c;脚踏油渍&#xff0c;用汗水与智慧守护着机械的脉动——他们就是汽修工人。面对飞溅的油渍、尖锐的金属部件以及不时滑动的地面&#xff0c;汽修工人们需要时刻保持警惕&#xff0c;确保工作安全…

Spring Cloud Eureka快读入门Demo

1.什么是Eureka&#xff1f; Eureka 由 Netflix 开发&#xff0c;是一种基于REST&#xff08;Representational State Transfer&#xff09;的服务&#xff0c;用于定位服务&#xff08;服务注册与发现&#xff09;&#xff0c;以实现中间层服务的负载均衡和故障转移&#xff…

Java小白入门到实战应用教程-开发环境搭建-IDEA2024安装激huo详细教程

writer:eleven 安装IDEA2024 一、下载IDEA 推荐大家去官网下载 我这里也给大家直接准备了安装包&#xff0c;和激huo教程&#xff0c;大家可以自行下载使用。 注意&#xff1a;激huo教程只用于学习交流&#xff0c;不可商用。 IDEA2024安装包及激huo教程 说明&#xff1a…

HarmonyOS NEXT学习——@Builder装饰器自定义构建函数

1.自定义组件内使用 Component //自定义组件修饰器 struct Com{ //自定义组件内使用Build修饰器Builder show(){ Text(Hello World)}build() {this.show() //使用自定义组件内的需要this} }2全局自定义构建函数 如果不涉及组件状态变化&#xff0c;建议使用全局的自定义构建…

HCIE之Qos(十七)

QoS 一、哪些问题会影响网络的数据传输二、QoS服务模型三、IntServ3.1 资源预留的过程分为5步3.2 资源预留方式可分为两类&#xff1a; 四、DiffServ五、分类和标识的方法5.1、二层标记方法5.2、三层标记方法5.2.1 传统的IPP方式 六、拥塞管理&#xff08;队列技术&#xff09…

pytorch-pytorch之LSTM

目录 1. nn.LSTM2. nn.LSTMCell 1. nn.LSTM 初始化函数输入参数与RNN相同&#xff0c;分别是input_size&#xff0c;hidden_size和num_layer foward函数也与RNN类似&#xff0c;只不过返回值除了out外&#xff0c;ht变为(ht,ct) 代码见下图&#xff1a; 2. nn.LSTMCell 初…

【保姆级】Python项目部署到Linux生产环境(uwsgi+python+flask+nginx服务器)

1.安装python 我这里是3.9.5版本 安装依赖&#xff1a; yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y 根据自己的需要下载对应的python版本&#xff1a; cd /usr/local wget https://www.python.or…

利用联邦学习和基于自动编码器模型的分布式学习架构

首先&#xff0c;在每个训练回合中&#xff0c;随机选择一个客户子集&#x1d45a; &#x1d45a;&#x1d44e;&#x1d465;(&#x1d436;&#x1d43e;, 1)参加当前回合&#xff0c;使得 C 是被选中参与的客户的比例&#xff1b; 其次&#xff0c;每个客户端接收全局模型…

SAP ABAP性能优化

1.前言 ABAP作为SAP的专用的开发语言&#xff0c;衡量其性能的指标主要有以下两个方面&#xff1a; 响应时间&#xff1a;对于某项特定的业务请求&#xff0c;系统在收到请求后需要多久返回结果 吞吐量&#xff1a;在给定的时间能&#xff0c;系统能够处理的数据量 2. ABAP语…

虚拟专用服务器有哪些应用?

虚拟化技术是一种可以让多个用户共享服务器资源的工具。它通过创建虚拟服务器来实现&#xff0c;这些虚拟服务器被分配了一定数量的内存、磁盘和 CPU 时间以便运行。这些虚拟服务器彼此独立&#xff0c;并为用户提供专用服务器的所有选项。这些虚拟专用服务器有许多名称&#x…

LabVIEW鼠标悬停在波形图上的曲线来自动显示相应点的坐标

步骤 创建事件结构&#xff1a; 打开LabVIEW&#xff0c;创建一个新的VI。 在前面板上添加一个Waveform Graph控件。 在后面板上添加一个While Loop和一个事件结构&#xff08;Event Structure&#xff09;。 配置事件结构&#xff0c;选择Waveform Graph作为事件源&#xf…

torch.compile模型编译加速

一、定义 定义接口介绍案例 二、实现 定义 torch.compile 是加速 PyTorch 代码的最新方法&#xff01; torch.compile 通过 JIT 将 PyTorch 代码编译成优化的内核&#xff0c;使 PyTorch 代码运行得更快&#xff0c;大部分过程仅需修改一行代码。torch.compile 的一个重要组件…

利用 VAE、GAN 和 Transformer 释放生成式 AI

利用 VAE、GAN 和 Transformer 释放生成式 AI 文章目录 一、介绍1.1 学习目标1.2 定义生成式 AI 二、生成式 AI 的力量三、变分自动编码器 &#xff08;VAE&#xff09;3.1 定义编码器和解码器模型3.2 定义采样函数3.3 定义损失函数3.4 编译和训练模型 四、生成对抗网络 &#…