Spiga

标签为WPF的文章

WPF学习笔记4:控件自定义

2022-08-29 23:03:02

摘要:一、概述 1. 个性化处理的方式 控件模板 UserControl 用户控件 CustomControl 自定义控件 2. UserControl与CustomControl 开发方式与表现结构 CustomControl 模板与关键特性 区别: 1、自定义控件:注重控件对象的功能,必须遵守WPF的控件规则 完全自己实现一个控件 继承现有控件进行功能扩展,并且添加新功能 WPF的控件要求 后台代码(控制逻辑)和Generic.Xaml(样式 模板)进行组合 支持模板重写 继承Control 2、用户控件:注重复合控件组合使用,非常灵活,可以根据控件开发人员自己的意愿进行功能处理 多个现有控件的集合,组成一个可复用的控件组 XAML和后台代码组成 绑定非常紧密 不支持模板重写、样式 继承UserControl 二、日期时间选择器 UserControl x:Class=Zhaoxi.CustomLesson.Controls.DateTimePicker xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:mc=http://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:d=http://schemas.microsoft.com/expression/blend/2008 xmlns:local=clr-namespace:Controls mc:Ignorable=d d:DesignHeight=30 d:DesignWidth=200 UserControl.Resources Style TargetType=RepeatButton x:Key=ButtonUpStyle Setter Property=Height Value=18…… 阅读全文

WPF学习笔记3:动画

2022-08-28 22:25:34

摘要:一、动画 补间动画:动画本质就是在一个时间段内对象尺寸、位移、旋转角度、缩放、颜色、透明度等属性值的连续变化。也包括图形变形的属性。时间、变化的对象、变化的值 工业应用场景:蚂蚁线、旋转、高度变化、指针偏移、小车 起始-》结束 多长时间 使用要求 必须针对依赖属性 对象必须派生自DependencyObject,并且实现IAnimatable接口 必须存在可用的兼容动画类(支持自定义) 二、简单线性动画 1. 类型 类型 ByteAnimation ColorAnimation DecimalAnimation DoubleAnimation Int16Animation Int32Animation Int64Animation Point3DAnimation PointAnimation QuaternionAnimation RectAnimation Rotation3DAnimation SingleAnimation SizeAnimation ThicknessAnimation VectorAnimation Vector3DAnimation 2. 动画类的选择 根据属性类型确定 变个大小、变个位置、变个颜色、变个显示(显示与隐藏) 3. 基本使用 创建类对象,设置相关属性,动画的执行 Duration、From、To 动画的独立控制与整合 StoryBoard 控制动画的运行:开始,停止,暂停,恢复 动画与对象的桥梁:动画对象与页面对象的关联 MediaElement 4. 实操 Window x:Class=AnimationLesson.LinearAniamtionWindow xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:d=http://schemas.microsoft.com/expression/blend/2008 xmlns:mc=http://schemas.openxmlf…… 阅读全文

WPF学习笔记2:控件模版

2022-08-22 16:39:57

摘要: Button、Label、GroupBox、CheckBox、RadioButton、ToggleButton TextBox、PasswordBox、TabControl/TabItem、TreeView/TreeViewItem、ListBox/ListBoxItem、Menu/MenuItem ComboBox、ScrollViewer/ScrollBar、ProgressBar、Slider Calendar、DatePicker、ListView、DataGrid 1. Button Window x:Class=TemplateLesson.BtnWindow xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns:d=http://schemas.microsoft.com/expression/blend/2008 xmlns:mc=http://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:local=clr-namespace:TemplateLesson mc:Ignorable=d Title=BtnWindow Height=450 Width=800 Window.Resources Style x:Key=ButtonStyle1 TargetType={x:Type Button} Setter Property=Background Value=#FFDDDDDD/ Setter Property=BorderBrush Value=#FF707070/ Setter Property=Foreground Value={DynamicResource {x:Static SystemColors.ControlTextBrushKey}}/ …… 阅读全文

WPF学习笔记1:知识串讲

2022-08-21 10:24:56

摘要:一、理解XAML 1. 项目表现形式 项目结构:项目文件,对象文件(XAML + C#) XAML eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言 XML:Extensible Markup Language 标记定义 命名空间 默认 映射:x(XAML语言本身所需的类型和属性)/d(代表设计时相关的工具对象)/mc(标记兼容功能) x:Array x:Key x:Name x:Null x:Static x:Share x:Type 2. 视觉树与逻辑树 查看分析工具:Snoop 层级关系 逻辑开发 视觉呈现 3. 标签扩展 自定义标签/对象 继承相关基类 命名空间引入 4. 类型转换器 XAML字符串编辑 对象属性非字符类型转换 二、WPF基础控件 控件类型 主要控件 按钮控件 Button、RepeatButton、RadioButton 数据显示控件 TextBlock、Label、Image、ItemsControl、ListView、ListBox、DataGrid、DocumentViwer 输入控件 TextBox、RichTextBox、CheckBox、ComboBox、DatePicker、PasswordBox、Slider、ProgressBar 菜单导航控件 MenuItem、ContextMenu、ToolBar、TreeView、TabControl、Expander 信息提示控件 Popup、Window、PrintDialog、ToolTip 布局控件 Grid、StackPanel、WrapPanel、DockPanel、UniformGrid、Canvas、InkCanvas、Border 图形控件 Line、Rectangle、Ellipse、Polyline、Polygon、Path、3D 容器控件 ScrollViwer、GroupBox、ViewBox 1. 常用属性 尺寸(宽高) 定位(Margin,HorizontalAlignment、VerticalAlignment) 颜色(Background、Foreground) 信息显示(Te…… 阅读全文