随笔分类 - WPF
摘要:前台代码: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/win
阅读全文
摘要:一般情况下DataGridBoundColumn和DataGridComboBoxColumn足以满足多数列的样式,如果需要自定义列样式,则可以使用DataGridTemplateColumn类型。 在设置列编辑样式之前,我们先创建一个简单的DataGrid,分别显示名称(用默认的DataGridT
阅读全文
摘要:使用WPF创建一个窗体(Window)时,如果设置了固定的高度(Height)和宽度(Width),一旦用户的电脑分辨率过低,就会使得窗体及其中的内容无法完整地显示出来。要解决这个这个问题,有以下几个方法可供参考: 1、无论将窗体做成全屏的(WindowState="Maximized"),还是设置
阅读全文
摘要:将ListView包裹在一个父Grid中 写一个与ListView平行的Grid,设置该Grid的列数与ListView中GridView的列数相同,将该Grid各列设置列宽按比例分配 将ListView中GridView的各列的Width绑定上述Grid的ActualWidth 这样,通过设置上述
阅读全文
摘要:<!--变量值--> <DataGridTextColumn Binding="{Binding Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True}" Header="变量值"> <Da
阅读全文
摘要:WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参 ContextMenu无论定义在.cs或.xaml文件中,都不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}
阅读全文
摘要:货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> // $123.46 货币格式,一位小数 <TextBox Text="{Binding Price, StringFormat={}{0:C1}}" /> // $123
阅读全文
摘要:1.WPF绑定使用的源属性必须是依赖项属性,这是因为依赖项属性具有内置的更改通知支持,元素绑定表达式使用了Xaml扩展标记,WPF绑定一个控件是使用Binding.ElementName,绑定非控件对象时使用Source,RelativeSource,DataContext属性(WPF特有,而非XA
阅读全文
摘要:一、什么是动态资源和静态资源 静态资源(StaticResource)和动态资源(DynamicResource) 资源可以作为静态资源或动态资源进行引用。这是通过使用 StaticResource 标记扩展或 DynamicResource 标记扩展完成的。 StaticResource 通过替换
阅读全文
摘要:WPF提供了一系列预定义组件以供UI开发人员使用。但软件开发人员仍常常需要自行编写满足特定要求的控件。本文就将以Spinner控件为例,讲解如何以派生方式完成自定义控件的编写。 一.动手前的思考 在着手开始编写控件之前,我们需要思考Spinner需要以怎样一种方式实现?MSDN建议使用三种控件实现方
阅读全文
摘要:静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了。 动态资源(DynamicResource)指的是在程序运行过程中然会去访问资源。 WPF中,每个界面元素都含有一个名为Resources的属性,其存储的是以“键-值”对形式存在的资源,而其子
阅读全文
摘要:MVVM简介 MVVM模式由Model,View,ViewModel三部分组成。 Model需继承INotifyPropertyChange(属性修改通知) ViewModel负责业务逻辑,连接View和Model View上面的控件绑定model和命令(command) 注:数据绑定binding
阅读全文
摘要:一、定义 x86: 将程序集编译为由兼容 x86 的 32 位公共语言运行库运行。 x64: 将程序集编译为由支持 AMD64 或 EM64T 指令集的计算机上的 64 位公共语言运行库运行。 anycpu:(默认值)将程序集编译为在任意平台上运行。 x86: 将程序集编译为由兼容 x86 的 32
阅读全文
摘要:顾名思义就是装饰用的,也就是说不改变原有的控件结构,但可以为控件添加一些新的功能,或是为控件的显示外观增加些东西。如MSDN中的例子: 本来TextBox四角没有圆点,但是通过装饰器可以为它加上。所以可以看成在TextBox上加了层。 这样就“无痛”的给控件进行了装饰。当然应用不单单这样加几个点而已
阅读全文
摘要:《本文转自同行》 《本文转自同行》 在WPF的DrawingContext对象中,提供了基本的绘制椭圆和矩形的API:DrawEllipse和DrawRectangle。但是,这些是远远不够用的,我们在日常应用中,更多的是使用DrawGeometry函数,它可以绘制更多复杂的几何图形,并且提供了许多
阅读全文
摘要:那么该如何解决这一问题呢?通常的做法是把耗时的函数放在线程池执行,然后切回主线程更新UI显示。前面的updateTime函数改写如下: private async void updateTime() { while (true) { await Task.Run(() => Thread.Sleep
阅读全文
摘要:前言:对于可是元素,我们常见有三种变化,旋转、平移、面积 一、 旋转(RotateTransform) CenterX和CenterY表示旋转中心,默认为原点及可视元素的左上角, Angle表示旋转角度 二、平移(TranslateTransform) 相对于原点移动的位置 三、缩放(ScaleTr
阅读全文
摘要:一、WPF的基本图形 WPF图形的基类是Shape,所有的wpf图形类都是继承于Shape。Height,Width等决定它所处的面积,位置等,在没有设置图形宽高的情况,坐标位置为所在的容器的坐标,设置情况为对象自身。 1、Line:直线段,可以设置笔触(Stroke)。 直线是最简单的图形。使用X
阅读全文
摘要:C#创建datatable 方法一: DataTable tblDatas = new DataTable("Datas"); DataColumn dc = null; dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); d
阅读全文
摘要:例子1 简单触发器Triggers——满足简答的条件,触发 例子2 条件多触发MultiTriggers——满足多条件才触发 例字4 数据触发器DataTrigger——根据绑定的数据不同显示不同的内容。
阅读全文