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