自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 .NET异步编程模式(四)-TAP

TAP 是基于任务的异步模式,在 .NET Framework 4 中引入。TAP 取代了 APM 和 EAP,是推荐的异步编程模式。

2022-08-19 11:20:21 363 1

原创 .NET异步编程模式(三)

EAP(Event-based Asynchronous Pattern) 是基于事件的异步模式,在 .NET Framework 2.0 中引入。EAP 需要一个有 Async 后缀方法和一个或多个事件。EAP不再推荐用于新开发。

2022-08-15 10:02:42 490

原创 .NET异步编程模式(二)

在 C#1 的时候就包含了APM,在 APM 模型中,异步操作通过 IAsyncResult 接口实现,包括两个方法 BeginOperationName 和 EndOperationName ,分别表示开始和结束异步操作。

2022-08-15 09:59:42 271

原创 .NET异步编程模式(一)

.NET 提供了三种异步编程模型 - TAP, EAP, APM

2022-08-15 09:55:34 216

原创 .NET程序配置文件操作(ini,cfg,config)

在程序开发过程中,我们一般会用到配置文件来设定一些参数。常见的配置文件格式为 **ini**, **xml**, **config**等。

2022-06-29 13:38:06 658

原创 Prism_07_WPF MVVM_复合程序视图布局

复合程序的界面(UI)是由松耦合的组件(View)组成,Prism 提供了这种页面布局的解决方案。

2022-02-21 11:46:51 403

原创 Prism_05_ViewModelLocator

ViewModelLocator 用于把 ViewModel 实例绑定到 View 的 DataContext.

2022-02-17 17:42:38 1925

原创 Prism_04_EventAggregator

在 MVVM 中,对于 View 和 ViewModel 之间的交互,可以使用 INotifyProperty 和 ICommand 来实现。而对于不同 ViewModel 之间的通信,为了实现低耦合,Prism 提供了 EventAggregator 。

2022-02-17 17:34:47 223

原创 Prism_06_Modules

通常,一个应用程序由不同的业务模块来组合而成,理想情况下,每个业务模块有独立的功能;业务模块之间是低耦合关系的;每个业务模块能够单独来开发测试和部署。这样程序是非常容易扩展、测试和维护,而Prism提供了将程序模块化的功能。

2022-02-17 17:28:46 188

原创 03_Prism_命令

Prism 提供了 **DelegateCommand** 类来实现命令。

2022-02-16 16:38:29 633

原创 02_Prism_容器

Prism 容器使用介绍

2022-02-16 15:01:09 917

原创 01_Prism介绍

Prism是一个框架,用于在WPF、Xamarin Forms 和 UNO/Win UI 应用程序中构建松耦合、可维护和可测试的XAML应用程序。

2022-02-16 11:38:11 415

原创 WPF_21_多线程

多线程编程可使WPF应用程序执行后台工作,同时保持用户界面能够进行响应。

2022-02-10 12:28:07 1171

原创 WPF_20_音频

WPF提供了播放多种声音格式的能力,包括MP3文件以及Windows媒体播放器支持的其他格式。

2022-02-09 11:43:45 1221

原创 WPF_19_菜单

增强Widnows专业应用程序的4个控件---Menu、ToolBar、StatusBar、功能区。

2022-02-07 16:23:28 2050

原创 WPF_18_Window

Window类继承自 ContentControl 类,只能包含单个子元素,通常是一个布局。

2022-01-29 15:45:20 464

原创 WPF_17_DataGrid

ListViewListView专门针对显示相同数据的不同视图而设计的,常用于显示每个数据项几部分信息的多列视图。ListView继承自ListBox类,并使用View属性进行扩展。从技术角度看,View指向继承自ViewBase类的任意实例。ViewBase是一个将两个样式捆绑在一起的包,其中一个样式应用到ListView控件(通过DefaultStyleKey属性),而另一个应用到ListView控件中的项(通过ItemContainerDefaultStyleKey属性)。事实上,为创建能够自定

2022-01-27 15:44:21 339

原创 WPF_16_数据视图

数据视图在后台工作,用于协调绑定数据的集合。使用数据视图,可添加导航逻辑并实现过滤,排序以及分组。

2022-01-25 14:07:42 534

原创 WPF_15_格式化绑定的数据

为了得到更人性化的外观,需要设计如何修剪数据列表和数据字段。

2022-01-18 16:20:19 686

原创 WPF_14_数据绑定

WPF数据绑定允许创建从任何对象的任何属性获取信息的绑定,并且可以使用创建的绑定填充任何元素的任何属性。

2022-01-12 15:48:03 650

原创 02_信息的表示和存储

现代计算机存储和处理的信息以二值信号表示,这些二进制数字称为位(bit).把位组合在一起,再加上某种解释,就能够表示任何有限集合的元素。信息存储大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。程序将内存视为一个非常大的字节数组,称为虚拟内存(virtual memory).内存的每个字节都有唯一的数字来标识,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间(virtual address space).每个程序对象可以简单地视为一

2021-12-28 13:28:36 574

原创 01_计算机系统漫游

计算机系统是由硬件和系统软件组成,它们共同工作来运行应用程序。

2021-12-13 15:05:51 569

原创 WPF_13_自定义元素

当希望微调元素的外观时,自定义元素并非最佳选择。如果希望改变底层的功能时,自定义元素就十分有用了。一般在专门的类库程序集(DLL)中放置自定义元素,可在多个程序之间共享自定义元素。

2021-12-07 17:26:40 152

原创 WPF_12_控件模板

每个WPF控件都有一个内置的方法,用于确定如何渲染控件(作为一组更基础的元素)。这个方法称为 控件模板(control template) ,是用XAML标记块定义的。

2021-12-02 13:49:09 188

原创 WPF_11_样式和行为

WPF 提供了几个特性,允许为基本元素插入一些自己喜欢的东西,并标准化程序的可视化外观。样式(style)-组织和重用格式化选项的重要工具。行为(behavior)-封装一些通用的UI功能。样式<Window.Resources> <!--与资源一样,样式都有一个键名,通常以 Style 结尾--> <Style x:Key="BigFontButtonStyle"> <Setter Property="Control.F

2021-11-29 19:27:18 262

原创 WPF_性能优化

WPF(Windows Presentation Foundation)是微软推出的基于Windows的用户界面框架,运行在 .NET Framework 3.0及以上版本。WPF是基于DirectX引擎的,支持GPU硬件加速,在不支持硬件加速时也可以使用软件绘制。尽管WPF有诸多优点,有时我们还是会遇到性能问题,比如界面卡顿,内存泄漏等等。针对WPF程序的性能优化是一个宽泛的问题,本文是对我们这段时间以来所作工作的一个总结。图形硬件相同的程序在不同的硬件上运行,会有不同的表现。对渲染能力影响比较大的硬

2021-11-26 17:00:52 2837

原创 WPF_10_资源

WPF资源系统是一种保管一些列有用对象(画刷,样式,模板)的简单方法,从而可以更容易地重用这些对象。程序集资源是一块嵌入到编译过的程序集中的二进制数据。程序集资源可确保应用程序所需的图像或声音文件,另一方面对象资源是希望在某个位置定义并在其他几个位置重复使用的.NET对象。资源基础WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件,窗口一起定义,或整个应用程序中定义)。资源有许多优点:高效 - 通过资源定义对象,并在标记中的多个地方使用。可维护性 - 通过资源使用低级的格式化细节

2021-11-19 19:10:46 234

原创 WPF_09_命令

使用路由事件可相应广泛的鼠标和键盘动作,但事件是非常低级的元素。在实际应用过程中,功能被划分成一些高级的任务,可通过不同的动作和用户界面元素触发,包括主菜单、上下文菜单、键盘以及工具栏。定义这些任务-命令-并将控件连接到命令,从而不需要重复编写事件处理代码。更重要的,当命令不可用时,命令特性通过自动禁用控件来管理用户界面的状态。命令模型WPF命令模型由许多可变的部分组成:命令 : 命令表示程序任务,并跟踪任务是否能够被执行。然而命令不包含执行程序任务的代码。命令绑定 : 每个命令绑定针对界面的具体

2021-11-18 19:56:05 234

原创 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 101

原创 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 259

原创 WPF_06_控件

文章目录内容控件Content属性标签按钮ButtonToggleButton 和 RepeatButtonCheckBoxRadioButton工具提示特殊容器ScrollViewer通过代码进行滚动自定义滚动GroupBoxTabItemExpander文本控件多行文本选择文本拼写检查列表控件ListBoxComboBox基于范围的控件SliderProgressBar我的公众号WPF控件继承自 System.Windows.Control 类。包括以下控件:内容控件:可包含嵌套的元素。包括 La

2021-11-11 13:39:06 166

原创 WPF_05_路由事件

路由事件WPF用更高级的路由事件替换普通的.NET事件。路由事件具有更强传播能力,可在元素树中向上冒泡和向下隧道传播,并沿着传播路径被事件处理程序处理。与依赖属性一样,路由事件由只读的静态字段表示,在静态构造函数中注册,并通过标准的.NET事件定义进行封装。public abstract class ButtonBase : ContentControl{ // 定义 public static readonly RoutedEvent ClickEvent; // 注册

2021-11-03 16:33:12 220

原创 04_依赖属性

依赖属性是标准.NET属性的全新实现,是专门为 WPF 创建的。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。创建依赖属性第一步时定义表示属性的对象,它是 DependencyProperty 类的实例。属性信息应该始终保持可用,甚至可能在多个类之间共享这些信息,因此必须将 DependencyProperty 对象定义为与其相关联的类的静态字段。public class FrameworkElement: UIElement, ...{ public static rea

2021-11-01 19:50:34 96

原创 03_布局

WPF用不同的容器(container)来实现布局。布局包括两个阶段:测量(measure)阶段和排列(arrange)阶段。在测量阶段,容器遍历所有子元素,并询问子元素它们期望的尺寸。在排列阶段,容器在合适的位置放置子元素。布局容器不能提供任何滚动支持,滚动时由特定的内容控件-ScrollViewer-提供的。布局容器所有WPF布局容器都派生自 System.Windows.Controls.Panel 抽象类的面板,并提供了三个公共属性。名称说明Background

2021-10-29 20:25:30 59

原创 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 85

原创 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 116

原创 Nginx部署

安装依赖包 yum -y install gcc gcc-c++ autoconf automake yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl opnessl-devel下载编译Nginx cd /usr/local/src wget http://ngi...

2019-11-12 12:07:26 173

原创 正则表达式

正则表达式(regex)是一个字符串,用来描述匹配一个字符串集合的模式。对于字符串处理来说,正则表达式时一个强大的工具。可以用正则表达式来匹配,替换和分割字符串。匹配字符串//String.matches()"Java is fun".matches("Java.*);上面语句返回 true, "Java.*"是一个正则表达式,描述以Java开始,后面跟0个或者多个字符串。正则...

2019-11-12 10:08:39 120

原创 第1章 计算机,程序和Java概叙

文章目录什么是计算机?中央处理器(Central Processing Unit,CPU)内存存储设备通信设备操作系统控制和监视系统的活动分配和调配系统资源调度操作什么是计算机?一台计算机主要由中央处理器,内存,存储设备,输入设备,输出设备和通信设备组成。这些设备通过一个称为总线的子系统连接。在个人计算机中,总线搭载在主板上,主板是一个连接计算机各个部分的电路板。中央处理器(Central...

2019-11-04 13:41:03 91

原创 冒泡排序

冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。最简单的交换//初级版,并非符合冒泡排序的思想//(java)void BubbleSort(List<int> list){ int i,j; for(i = 1; i < list.size(); i++) { for(j...

2019-09-17 09:48:06 138

编码:隐匿在计算机软硬件背后的语言

这是一本讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼就武断地认为,它是晦涩而难懂的。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。

2017-01-05

Newtonsoft.Json 4.0

Newtonsoft.Json v4.0_4.0.8.0__30ad4fe6b2a6aeed

2016-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除