随笔分类 -  WPF

摘要:扩展控件,顾名思义就是对已有的控件进行扩展,一般继承于已有的原生控件,不排除继承于自定义的控件,不过这样做意义不大,因为既然都自定义了,为什么不一步到位呢,有些不同的需求也可以通过此来完成,不过类似于类继承了。扩展控件本质也是类的继承。下面我们通过两个例子说明 一、自定义MButton 控件外观控制 阅读全文
posted @ 2017-09-21 16:28 卖雨伞的小男孩 阅读(3476) 评论(0) 推荐(2) 编辑
摘要:WPF控件官方样式表 https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/controls/datepicker-styles-and-templates 话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式。 阅读全文
posted @ 2017-09-21 16:02 卖雨伞的小男孩 阅读(5327) 评论(0) 推荐(1) 编辑
摘要:一、什么是控件(Controls) 控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试(就是所谓的3Ds开发流程,即Design、Develop、Debug)工作, 然后是控件的使用。开发者应该 阅读全文
posted @ 2017-09-21 15:14 卖雨伞的小男孩 阅读(12472) 评论(0) 推荐(3) 编辑
摘要:有时候我们需要给WPF窗体加上一个毛边(投影效果) 我们可以在窗体下加上如下代码 然后需要给窗体设置一个border 这时候阴影的效果也是方形的,我们可以在grid外边再加一个Border,并设置成圆角,颜色可以设置为透明。 阅读全文
posted @ 2017-09-18 11:49 卖雨伞的小男孩 阅读(671) 评论(0) 推荐(0) 编辑
摘要:一、画弧 Path继承自Sharp,以System.Windows.Shapes.Shape为基类,它是一个具有各种方法的控件。 我们先看一段xaml代码: 画出图形的效果如下: 如上红色部门。 Path的属性 Stroke无可置疑,就是决定颜色,Fill作为内部填充颜色。 Path.Date就是决 阅读全文
posted @ 2017-09-15 19:10 卖雨伞的小男孩 阅读(5441) 评论(0) 推荐(0) 编辑
摘要:WPF中使用Console.Write函数来打印信息是没有意义的,因为并没有给其输出字符的窗口。对于桌面程序来说,这是十分合理的,然而有时为了方便调试,在程序编写过程中打印出信息给程序员看还是必要的,利用Windows的API,在DEBUG的时候打开一个控制台窗口以供信息打印显示。 创建一个管理类 阅读全文
posted @ 2017-08-25 20:11 卖雨伞的小男孩 阅读(1979) 评论(0) 推荐(0) 编辑
摘要:1.登录http://zxingnet.codeplex.com/,下载对应.net版本的zxing库 2.引入zxing.dll 3.新建界面控件 注意,二维码是有容量的,最多635个汉字;2685个字符。 阅读全文
posted @ 2017-08-25 19:21 卖雨伞的小男孩 阅读(685) 评论(0) 推荐(0) 编辑
摘要:Decorator 和 Adorner 它们都有“装饰品”的意思。 Decorator类负责包装某个UI元素,以提供额外的行为。它有一个类型为UIElement的Child属性,其中含有待包装的内容。Decorator可被用于添加简单的视觉装饰,例如边界(Border),或者更复杂的行为,例如Vie 阅读全文
posted @ 2017-08-09 15:25 卖雨伞的小男孩 阅读(547) 评论(0) 推荐(0) 编辑
摘要:对于WPF,一旦隐藏了标题栏,就无法移动,这时候需要重写移动方法,下面列举常见的三种方式方式。 方式一:重写OnMouseLeftButtonDown 这种方式bTop是鼠标按下的区域,可以是窗体的grid,border,也可以是自己重新定义的border。 方式二:新建一个鼠标按下事件 方式三:窗 阅读全文
posted @ 2017-08-09 14:34 卖雨伞的小男孩 阅读(2988) 评论(0) 推荐(0) 编辑
摘要:如果数据绑定的目标是TextBox元素的Text属性,那么默认会使用双向绑定(Mode.TwoWay),此时用户可以通过更改TextBox元素Text属性的值从而更新源属性信息,但是如果在程序代码中更新源属性(此时源属性不是依赖属性)的信息,那么TextBox元素的Text属性不会同时进行更新,这时 阅读全文
posted @ 2017-07-17 10:20 卖雨伞的小男孩 阅读(1025) 评论(0) 推荐(0) 编辑
摘要:方式1: 使用win32控件OpenFileDialog 方式2: 使用Forms中的OpenFileDialog控件 WPF中是不能直接使用Forms中的控件的,否则会提示找不到Forms名字控件. 如果你仍然要用, 答案便是添加.net 引用reference 方式三: 使用win32 api 阅读全文
posted @ 2017-06-19 19:03 卖雨伞的小男孩 阅读(1027) 评论(0) 推荐(0) 编辑
摘要:首先需要在项目中引用System.Windows.Forms,System.Drawing; 阅读全文
posted @ 2017-06-14 20:01 卖雨伞的小男孩 阅读(3220) 评论(0) 推荐(0) 编辑
摘要:1.选取文件夹的FolderBrowserDialog fbd = new FolderBrowserDialog();fbd.SelectedPath = "D:\Test";if(fbd .ShowDialog() == DialogResult.OK){ this.textbox1.Text 阅读全文
posted @ 2017-06-06 14:40 卖雨伞的小男孩 阅读(354) 评论(0) 推荐(0) 编辑
摘要:这是参数类型约束,指定T必须是Class类型。 .NET支持的类型参数约束有以下五种:where T : struct | T必须是一个结构类型where T : class | T必须是一个Class类型where T : new() | T必须要有一个无参构造函数where T : NameOf 阅读全文
posted @ 2017-06-02 15:38 卖雨伞的小男孩 阅读(1244) 评论(0) 推荐(0) 编辑
摘要:border介绍: 下面是StackPanel中,一个简单的,具有轻微圆角的边框,围绕在一组按钮外面: 阅读全文
posted @ 2017-05-25 15:29 卖雨伞的小男孩 阅读(1991) 评论(0) 推荐(0) 编辑
摘要:UIView.clipsToBounds : 让子 View 只显示父 View 的 Frame 部分,子视图超出frame的部分不显示,默认为NO,设置为YES就会把超出的部分裁掉; maskToBounds : 是 CALayer 的属性,基于 View 的不少属性其实就是作用于 CALayer 阅读全文
posted @ 2017-05-15 17:05 卖雨伞的小男孩 阅读(1392) 评论(0) 推荐(0) 编辑
摘要:如果布局在Grid中: 方法一: //_stackPanel为子元素,_grid为父元素 Point point = _stackPanel.TranslatePoint(new Point(0, 0), (UIElement)_grid); 方法二: //_stackPanel为子元素,_grid 阅读全文
posted @ 2017-05-08 09:58 卖雨伞的小男孩 阅读(1173) 评论(1) 推荐(0) 编辑
摘要:double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度 double x1= SystemParameters.PrimarySc 阅读全文
posted @ 2017-05-05 15:55 卖雨伞的小男孩 阅读(3902) 评论(0) 推荐(0) 编辑
摘要:ms-word做出的效果令人十分欣喜,那么如何用wpf达到这个效果,下面我们来进行讨论。 界面上我用一个WrapPanel作为父级控件,动态添加InkCanvas作为子控件 后台添加: ValueChange的代码: 实现的效果: 阅读全文
posted @ 2017-04-26 11:39 卖雨伞的小男孩 阅读(470) 评论(0) 推荐(0) 编辑
摘要:以下以row定义说明问题,列类似: <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="50"/> </Grid.RowDefinitions> 指定高低的时候,高度的单位可以使*,可以使p,可以使auto,还可 阅读全文
posted @ 2017-04-25 11:51 卖雨伞的小男孩 阅读(335) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示