WPF
文章平均质量分 90
RisingWaves
这个作者很懒,什么都没留下…
展开
-
01_Prism介绍
Prism是一个框架,用于在WPF、Xamarin Forms 和 UNO/Win UI 应用程序中构建松耦合、可维护和可测试的XAML应用程序。原创 2022-02-16 11:38:11 · 469 阅读 · 0 评论 -
WPF_21_多线程
多线程编程可使WPF应用程序执行后台工作,同时保持用户界面能够进行响应。原创 2022-02-10 12:28:07 · 1225 阅读 · 0 评论 -
WPF_20_音频
WPF提供了播放多种声音格式的能力,包括MP3文件以及Windows媒体播放器支持的其他格式。原创 2022-02-09 11:43:45 · 1254 阅读 · 0 评论 -
WPF_19_菜单
增强Widnows专业应用程序的4个控件---Menu、ToolBar、StatusBar、功能区。原创 2022-02-07 16:23:28 · 2173 阅读 · 0 评论 -
WPF_18_Window
Window类继承自 ContentControl 类,只能包含单个子元素,通常是一个布局。原创 2022-01-29 15:45:20 · 505 阅读 · 0 评论 -
WPF_17_DataGrid
ListViewListView专门针对显示相同数据的不同视图而设计的,常用于显示每个数据项几部分信息的多列视图。ListView继承自ListBox类,并使用View属性进行扩展。从技术角度看,View指向继承自ViewBase类的任意实例。ViewBase是一个将两个样式捆绑在一起的包,其中一个样式应用到ListView控件(通过DefaultStyleKey属性),而另一个应用到ListView控件中的项(通过ItemContainerDefaultStyleKey属性)。事实上,为创建能够自定原创 2022-01-27 15:44:21 · 364 阅读 · 0 评论 -
WPF_16_数据视图
数据视图在后台工作,用于协调绑定数据的集合。使用数据视图,可添加导航逻辑并实现过滤,排序以及分组。原创 2022-01-25 14:07:42 · 595 阅读 · 0 评论 -
WPF_15_格式化绑定的数据
为了得到更人性化的外观,需要设计如何修剪数据列表和数据字段。原创 2022-01-18 16:20:19 · 736 阅读 · 0 评论 -
WPF_14_数据绑定
WPF数据绑定允许创建从任何对象的任何属性获取信息的绑定,并且可以使用创建的绑定填充任何元素的任何属性。原创 2022-01-12 15:48:03 · 772 阅读 · 0 评论 -
WPF_13_自定义元素
当希望微调元素的外观时,自定义元素并非最佳选择。如果希望改变底层的功能时,自定义元素就十分有用了。一般在专门的类库程序集(DLL)中放置自定义元素,可在多个程序之间共享自定义元素。原创 2021-12-07 17:26:40 · 196 阅读 · 0 评论 -
WPF_12_控件模板
每个WPF控件都有一个内置的方法,用于确定如何渲染控件(作为一组更基础的元素)。这个方法称为 控件模板(control template) ,是用XAML标记块定义的。原创 2021-12-02 13:49:09 · 228 阅读 · 0 评论 -
WPF_11_样式和行为
WPF 提供了几个特性,允许为基本元素插入一些自己喜欢的东西,并标准化程序的可视化外观。样式(style)-组织和重用格式化选项的重要工具。行为(behavior)-封装一些通用的UI功能。样式<Window.Resources> <!--与资源一样,样式都有一个键名,通常以 Style 结尾--> <Style x:Key="BigFontButtonStyle"> <Setter Property="Control.F原创 2021-11-29 19:27:18 · 288 阅读 · 0 评论 -
WPF_性能优化
WPF(Windows Presentation Foundation)是微软推出的基于Windows的用户界面框架,运行在 .NET Framework 3.0及以上版本。WPF是基于DirectX引擎的,支持GPU硬件加速,在不支持硬件加速时也可以使用软件绘制。尽管WPF有诸多优点,有时我们还是会遇到性能问题,比如界面卡顿,内存泄漏等等。针对WPF程序的性能优化是一个宽泛的问题,本文是对我们这段时间以来所作工作的一个总结。图形硬件相同的程序在不同的硬件上运行,会有不同的表现。对渲染能力影响比较大的硬原创 2021-11-26 17:00:52 · 2972 阅读 · 0 评论 -
WPF_10_资源
WPF资源系统是一种保管一些列有用对象(画刷,样式,模板)的简单方法,从而可以更容易地重用这些对象。程序集资源是一块嵌入到编译过的程序集中的二进制数据。程序集资源可确保应用程序所需的图像或声音文件,另一方面对象资源是希望在某个位置定义并在其他几个位置重复使用的.NET对象。资源基础WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件,窗口一起定义,或整个应用程序中定义)。资源有许多优点:高效 - 通过资源定义对象,并在标记中的多个地方使用。可维护性 - 通过资源使用低级的格式化细节原创 2021-11-19 19:10:46 · 273 阅读 · 0 评论 -
WPF_09_命令
使用路由事件可相应广泛的鼠标和键盘动作,但事件是非常低级的元素。在实际应用过程中,功能被划分成一些高级的任务,可通过不同的动作和用户界面元素触发,包括主菜单、上下文菜单、键盘以及工具栏。定义这些任务-命令-并将控件连接到命令,从而不需要重复编写事件处理代码。更重要的,当命令不可用时,命令特性通过自动禁用控件来管理用户界面的状态。命令模型WPF命令模型由许多可变的部分组成:命令 : 命令表示程序任务,并跟踪任务是否能够被执行。然而命令不包含执行程序任务的代码。命令绑定 : 每个命令绑定针对界面的具体原创 2021-11-18 19:56:05 · 260 阅读 · 0 评论 -
WPF_08_元素绑定
数据绑定是一种关系,告诉WPF从源对象提取一些信息来设置目标对象的属性,这些属性始终是 依赖属性 。源对象可以是任何内容,可以是另一个元素,可以是数据对象或自己创建的数据对象。绑定元素<Slider Name="slider" /><TextBlock name="textBlock" Text="Test Text" FontSize="{Binding ElementName=slider, Path=Value}"/>数据绑定表达式使用 XAML 标记扩展(因此具有花原创 2021-11-18 09:48:00 · 120 阅读 · 0 评论 -
WPF_07_Application
WPF程序都是由 System.Windows.Application 类表示的一个实例,该类跟踪所有窗口,决定何时关闭程序,并引发可执行初始化和清除操作的程序事件。程序生命周期本质上,Visual Studio为 Application类使用的模板和窗口模板相同,默认该模板命名为 App.xaml .<Application x:Class="WindowDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/原创 2021-11-16 13:30:34 · 274 阅读 · 0 评论 -
WPF_05_路由事件
路由事件WPF用更高级的路由事件替换普通的.NET事件。路由事件具有更强传播能力,可在元素树中向上冒泡和向下隧道传播,并沿着传播路径被事件处理程序处理。与依赖属性一样,路由事件由只读的静态字段表示,在静态构造函数中注册,并通过标准的.NET事件定义进行封装。public abstract class ButtonBase : ContentControl{ // 定义 public static readonly RoutedEvent ClickEvent; // 注册原创 2021-11-03 16:33:12 · 262 阅读 · 0 评论 -
04_依赖属性
依赖属性是标准.NET属性的全新实现,是专门为 WPF 创建的。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。创建依赖属性第一步时定义表示属性的对象,它是 DependencyProperty 类的实例。属性信息应该始终保持可用,甚至可能在多个类之间共享这些信息,因此必须将 DependencyProperty 对象定义为与其相关联的类的静态字段。public class FrameworkElement: UIElement, ...{ public static rea原创 2021-11-01 19:50:34 · 111 阅读 · 0 评论 -
03_布局
WPF用不同的容器(container)来实现布局。布局包括两个阶段:测量(measure)阶段和排列(arrange)阶段。在测量阶段,容器遍历所有子元素,并询问子元素它们期望的尺寸。在排列阶段,容器在合适的位置放置子元素。布局容器不能提供任何滚动支持,滚动时由特定的内容控件-ScrollViewer-提供的。布局容器所有WPF布局容器都派生自 System.Windows.Controls.Panel 抽象类的面板,并提供了三个公共属性。名称说明Background原创 2021-10-29 20:25:30 · 73 阅读 · 0 评论 -
02_XAML
文章目录XAML基础XAML名称空间标记扩展附加属性嵌套元素特殊字符与空白我的微信公众号XAML(Extensible Application Markup Language的简写)是用于实例化.NET对象的标记语言。XAML对于WPF不是必须的。XAML基础XAML标准:XAML文档中的每个元素都映射为.NET类的一个实例。与所有XML文档一样,可在一个元素中嵌套另一个元素。可通过特性(attribute)设置每个类的属性(property)。XAML名称空间xmlns特性是XML中的原创 2021-10-29 17:25:43 · 99 阅读 · 0 评论 -
01_WPF概述
WPF概述Windows 图形演化高级API分辨率无关性WPF体系结构我的微信公众号Windows 图形演化在 WPF 之前,windows 开发一直使用本质上相同的显示技术。每个传统 windows 程序都依靠 windows系统的如下两个部分创建用户界面:User32 : 该部分为许多元素(比如窗口、按钮和文本框等)提供了熟悉的windows外观GDI/GDI+ :该部分为渲染简单形状、文本以及图像提供了绘图支持,但增加了复杂程度在WPF中底层的图形技术不再是GDI/GDI+,而是 Dir原创 2021-10-28 17:56:46 · 135 阅读 · 0 评论 -
WPF全局异常捕获
未捕获的异常在.NET中,我们使用 try-catch-finally 来处理异常,但很难保证所有的异常都已经被捕获。这种未捕获的异常就会导致程序卡死,数据丢失等bug。WPF中提供了处理这些未捕获的异常的方法,通过注册事件可以对未经处理的全局异常集中执行自定义操作,从而增加程序的稳定性。UI线程上的异常对于在UI线程上运行的代码抛出的的异常,Application都将引发一个 Dispa...原创 2019-08-30 17:49:16 · 438 阅读 · 0 评论