Loading

随笔分类 -  WPF

用于发表WPF相关的界面设计与模式设计等
摘要:一、自定义Main函数 在WPF中,我们添加一个Program静态类,添加一个Main静态方法,需要注意的是该方法需要添加“STAThread”,表示WPF程序需运行在单一线程单元下。具体如下: static class Program { [STAThread] static void Main( 阅读全文
posted @ 2021-05-15 16:27 Dwaynerbing 阅读(1763) 评论(0) 推荐(0)
摘要:一、前言 ​ WPF 使用 BitmapEffect 和 Effect 可以实现阴影、发光、通道、动态模糊等效果,还可以像为 Photoshop 开发滤镜一样开发效果类库。在UIElement 类的成员中拥有BitmapEffect 和 Effect 两个属性,这是因为WPF最早的版本中只有Bitm 阅读全文
posted @ 2021-04-28 23:40 Dwaynerbing 阅读(992) 评论(0) 推荐(0)
摘要:WPF 中的动画主要分为 AnimationTimeline(简单动画) 和 Storyboard(一组协同的动画)。 一、简单线性动画 <Button Height="80" Width="200" Content="Move" Click="ButtonBase_OnClick"> <Butto 阅读全文
posted @ 2021-04-14 13:18 Dwaynerbing 阅读(194) 评论(0) 推荐(0)
摘要:一、WPF 绘画 WPF 可以绘制线段(Line)、矩形(Rectange)、椭圆(Ellipse)、路径(Path)。具体使用如下所示: <!--(1)线段:Line--> <Line X1="0" X2="380" Y1="0" Y2="0" Stroke="Tomato" StrokeThic 阅读全文
posted @ 2021-02-24 21:58 Dwaynerbing 阅读(323) 评论(0) 推荐(1)
摘要:一、前言 ​ 控件(Control)是数据内容表现形式和算法内容表现形式的双重载体。控件的数据内容表现形式让用户可以直观的看到数据,算法内容形式可以让用户方便的操作逻辑。作为“表现形式”,每个控件都是为了实现用户某种操作算法和直观展示某种数据而生。即控件由“算法内容”和“数据内容”所决定(内容决定形 阅读全文
posted @ 2021-02-22 10:46 Dwaynerbing 阅读(927) 评论(0) 推荐(0)
摘要:一、二进制资源 ​ 程序中的各种数据就是算法的原料和粮草。程序中的数据可以放在数据库里、变量里、程序主体之外的文件里。但保存在程序主体之外的文件里,由于外部文件和程序主体分离,容易造成文件丢失或损坏,为了解决此问题,编译器允许我们把外部文件编译进程序主体,称为程序不可分割的一部分,这就是传统意义上的 阅读全文
posted @ 2021-02-09 16:35 Dwaynerbing 阅读(293) 评论(0) 推荐(0)
摘要:一、System.Windows.Interactivity 的使用 对于 Button 等控件,在 MVVM 中我们能通过 Command 绑定解决 Click 事件,具体如下: <Button Margin="10" Height="50" Content="Clear" Command="{B 阅读全文
posted @ 2021-02-09 13:51 Dwaynerbing 阅读(4656) 评论(0) 推荐(0)
摘要:一、前言 ​ 事件的作用是发布和传播一些消息,消息送达接收者,事件的使命也就完成了,至于消息响应者如何处理发送来的消息并不做规定,每个接收者可以使用自己的行为来响应事件。即事件不具有约束力。 ​ 命令就有约束力,不仅可以约束代码,还可以约束步骤逻辑。 二、WPF 的 命令系统 ​ WPF 中,命令系 阅读全文
posted @ 2021-02-08 20:14 Dwaynerbing 阅读(487) 评论(0) 推荐(1)
摘要:一、消息驱动与直接事件模型 ​ 事件的前身是消息(Message)。Windows 是消息驱动的系统,运行其上的程序也遵循这个原则。消息的本质就是一条数据,这条消息里面包含着消息的类别,必要的时候还记载着一些消息参数。例如:当你在按下鼠标左键时,一条名为 WM_LBUTTONDOWN 的消息被生成并 阅读全文
posted @ 2021-02-08 11:24 Dwaynerbing 阅读(1366) 评论(0) 推荐(2)
摘要:一、前言 ​ WPF 中有两种“树”:逻辑树(Logical Tree)和可视化元素树(Visual Tree)。 Logical Tree 最显著的特点就是它完全由布局组件和控件组成。那么 Visual Tree 是什么呢? ​ 如果我们仔细观察一棵树的树叶,会发现树叶的脉络也像一棵“树”——有自 阅读全文
posted @ 2021-02-06 22:08 Dwaynerbing 阅读(2469) 评论(1) 推荐(0)
摘要:一、CLR 属性 ​ 程序的本质是“数据+算法”,或者说用算法来处理数据以期得到输出结果。在程序中,数据表现为各种各样的变量,算法则表现为各种各样的函数(操作符是函数的简记法)。 ​ 类的作用是把散落在程序中的变量和函数进行归档封装并控制它们的访问。被封装在类里的变量称为字段(Field),它表示的 阅读全文
posted @ 2021-02-06 21:46 Dwaynerbing 阅读(1141) 评论(0) 推荐(2)
摘要:一、前言 ​ 有时候 UI 需要显示的信息由不止一个数据来源决定,这时候就需要使用 MultiBinding ,即多路 Binding。 ​ MultiBinding 与 Binding 一样均以 BindingBase 为基类,因此,能使用 Binding 的地方都能够使用 MultiBindin 阅读全文
posted @ 2021-02-06 16:03 Dwaynerbing 阅读(5151) 评论(0) 推荐(0)
摘要:一、前言 ​ Binding 的作用就是架在 Source 和 Target 之间的桥梁,数据可以在这座桥梁的帮助下来流通。就像现实中的桥梁会设置一些关卡进行安检一样,Binding 这座桥上也可以设置关卡对数据的有效性进行校验。不仅如此,当两端要求使用不同的数据类型时,我们还可以为数据设置转换器。 阅读全文
posted @ 2021-02-06 08:44 Dwaynerbing 阅读(744) 评论(0) 推荐(0)
摘要:一、 ObservableCollection 动态数据集合 在许多情况下,我们使用的数据是对象的集合。 例如,数据绑定中的常见方案是使用 ItemsControl ListBox 、 ListView 或等 TreeView 来显示记录集合。 但是,若要设置动态绑定,以便集合中的插入或删除操作 U 阅读全文
posted @ 2021-02-05 14:47 Dwaynerbing 阅读(9923) 评论(0) 推荐(3)
摘要:# 一、INotifyPropertyChanged 的基本概念 INotifyPropertyChanged 的作用:通知客户端属性值已经更改。详细信息见:[INotifyPropertyChanged 接口(Microsoft)](https://docs.microsoft.com/zh-cn 阅读全文
posted @ 2021-02-04 16:49 Dwaynerbing 阅读(4081) 评论(0) 推荐(0)
摘要:1:下载第三方字体并加入到项目中。 2:在App.xaml中或者你需要的地方添加资源的定义。 1 <Window.Resources> 2 <ResourceDictionary> 3 <ResourceDictionary.MergedDictionaries> 4 <ResourceDictio 阅读全文
posted @ 2020-09-03 11:45 Dwaynerbing 阅读(6684) 评论(2) 推荐(2)
摘要:1:问题描述 (1)添加资源。在方案的资源中加入以下字符串资源: (2)声明使用资源。在xaml中引入资源引用名称“xmlns:prop="clr-namespace:chapter10.Properties”,并使用之: <TextBlock Text="{x:Static prop:Resour 阅读全文
posted @ 2020-04-27 15:31 Dwaynerbing 阅读(1357) 评论(0) 推荐(0)
摘要:在XAML中,Button默认自带边框 ,如果要取消比边框,可以设置"BorderThickness=0",具体XAML程序如下所示: <Button BorderThickness="0"/> 但此种情况下,若操作系统的样式没有设置成win10默认的样式,例如在win7默认的样式显示中,即使设置" 阅读全文
posted @ 2020-04-01 09:13 Dwaynerbing 阅读(435) 评论(0) 推荐(0)