自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 设计模式之代理模式

代理模式:为其他对象提供一种代理以控制对这个对象的访问。应用场合: 一、远程代理,也就是为了一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在不同地址空间的事实。(例如:WebService服务) 二、虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。(HTML网页,先加载文字,后加载图片,未加载的图片框,就是用虚拟代理来替代了真实的图片,此时代理存储了真实图片的路径和尺寸)...

2020-08-09 20:36:09 214

原创 设计模式之装饰模式

装饰模式是为已有功能动态地添加更多功能的一种方式。 当系统需要新功能的时候,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要行为,在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要。装饰模式提供了一个非常好的解决方案,它把每个要装饰的功能放在单独的类中,并让这个类包装它所需要装饰的对象,因此,当需要执行特性行为时,客户代码就可以在运行时根据需要有选择地、按顺序地使用装饰...

2020-08-09 20:32:08 162 1

原创 设计模式之策略模式

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。优点:1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。缺点:1、策略类会增多。 2、所有策略类都需...

2019-08-18 09:31:35 130

原创 设计模式之简单工厂模式

工厂模式(Factory Pattern)是面向对象开发中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。下面就以计算器的实现为例:首先创建运算类 /// <summary> /// 运算类 /// &l...

2019-08-18 09:22:30 98

原创 WPF中DataGrid编辑单元格回车将焦点移动到下一个单元格

在DataGrid新增数据时候,其中会遇到的一个问题就是编辑单元格数据的时候,按回车它会跳到下一行数据,而我们希望的是它能移动到下一个单元格。我们要用到DataGrid的PreviewKeyDown方法,用KeyDown是不行的。 /// <summary> /// 回车将焦点移动到下一个单元格 /// </summary&...

2019-08-08 09:01:38 1715

原创 WPF遍历CheckBox控件实现全选及反选

在项目开发中,遇到一大片的CheckBox控件,需要实现全选、反选,一个个写是不太实际的,这时候,我们就可以选择用遍历控件的方式来解决。全选:遍历的控件是CheckBox,就给它赋值IsChecked= true反选:遍历的控件是CheckBox,就让它的IsChecked值取反Xaml的代码就不放出来了,就是一个Grid,Name="content",里面全是CheckBox,后面再...

2019-08-08 08:24:44 2022

原创 WPF在TreeView中实现右键菜单及删除节点

删除节点比新增节点简单很多,主要是判断要删除的节点有没有兄弟节点,如果有,就直接删除要删除的节点,如果没有,将父节点也一起删除。首先定义一个右键菜单XAML:<!--定义一个右键菜单控件--> <UserControl.Resources> <ContextMenu x:Key="cmButton"> ...

2019-07-27 17:42:29 4839

原创 WPF跨TreeView拖拽节点

老规矩,先说一下我的思路。。。鉴于个人语文水平,这次就用图来说明了 大概的思路就是这个样子,下面就是具体的实现方法(关于数状图的数据绑定可以参考我之前的动态绑定菜单,原理是一样的):XAML:<TreeView Name="allFunctions" HorizontalAlignment="Left" Height="250" Margin="501,75,0,0" Ve...

2019-07-27 17:33:48 2039 2

原创 WPF动态加载TabControl

主要讲一下如何通过点击菜单,实现动态加载TabControl的功能,准确来说应该是动态加载TabItem,要实现这个功能,我们需要解决两个问题:点击菜单的时候,需要传进来一个你要加载的UserControl控件的名称,让程序知道你要加载的是哪个控件。 通过传进来的UserControl控件名实例化UserControl控件(利用反射来实例化UserControl控件)。关于第一点,我通过在...

2019-07-17 16:16:48 4764

原创 WPF动态加载菜单目录

一般在项目中,为了方便项目后面的开发和管理,菜单都会选择从数据库动态加载。那么,动态加载菜单的原理是什么呢?我们在数据库建立菜单表的时候,最起码需要有三个字段:菜单ID(ID)、菜单名称(Name)、上级菜单ID(SuperiorID)。查询出所有的菜单数据,循环遍历出上级菜单ID为空的数据,作为一级菜单。 把每个一级菜单的菜单ID放到菜单数据里进行比较,得到菜单ID等于上级菜单ID的数...

2019-07-17 16:01:35 1743

原创 利用PLSQL新建Oracle表

选择表,新增,填写名称,Comments(备注)设置主键时,在建中添加名称,类型为Primary,选择需要设置为主键的列就可以了设置主键的类型为varchar2()时,想让主键由系统自动生成,需要在Default/Expr中填写SYS_GUID(),这个表达式会自动生成32位字符串如果设置主键为number类型,由于oracle没有自带主键自增的功能,需要自己添加序列的方...

2019-07-07 20:43:46 3538

转载 创建本地Oracle数据库

原文:https://blog.csdn.net/fsz911223/article/details/79548215------------------------------------------------------------------点击开始按钮,找到Database Configuration Assistant应用,点击下一步;选择创建数据库,点击下一步; 选...

2019-07-07 20:38:46 422

原创 WPF浅谈

1.创建WPF应用,这个直接选择新建项目,选择WPF应用就可以了2.我们先看App.xaml这个文件,里面设置了应用程序的起始文件与资源 ;App.xaml.cs属于App.xaml的后台文件,继承自System.Windows.Application,用于处理整个WPF应用程序的相关。3.MainWindow.xaml是WPF应用程序界面与XAML设计文件,MainWindow....

2019-06-28 08:43:01 186

空空如也

空空如也

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

TA关注的人

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