随笔分类 -  WPF

摘要:今天在开发的过程中突然碰到了一个问题,本来的意图是想当ItemsControl中加载的Item达到一定数量时,会出现ScrollViewer并出现垂直的滚动条,但是实际上并不能够达成目标,对于熟手来说这个问题非常简单,但是如果不了解WPF的模板的原理,可能并不清楚这些,这里举出一个例子来论证。 执行 阅读全文
posted @ 2016-06-02 16:15 Hello——寻梦者! 阅读(2942) 评论(0) 推荐(0)
摘要:在我们的程序中有时候需要去实现动态更换皮肤的效果,从而完成一些个性化的设置,那么我们究竟怎样去实现动态换皮肤的效果呢?那么我们经常用到的就是设置不同的Style,并且在主程序的xaml文件中通过DynamicResource引用这些Style,当我们点击更换皮肤时我们就动态去改变这些Style,从而 阅读全文
posted @ 2016-04-18 15:29 Hello——寻梦者! 阅读(8662) 评论(1) 推荐(0)
摘要:今天在做一个小Demo的时候碰到了一个比较奇怪的问题,就是其中一个Trigger始终无法执行,具体的代码如下 <Trigger Property="Popup.IsOpen" Value="False"> 就是当Popup控件关闭的时候不能触发下面的设置内容 <Setter TargetName=" 阅读全文
posted @ 2016-04-15 13:55 Hello——寻梦者! 阅读(1843) 评论(1) 推荐(0)
摘要:背景 在我们平时的开发中会经常用到Image控件,通过设置Image控件的Source属性,我们可以加载图片,设置Image的source属性时可以使用相对路径也可以使用绝对路径,一般情况下建议使用绝对路径,类似于下面的形式 Source="/Demo;Component/Images/Test.j 阅读全文
posted @ 2016-03-14 21:30 Hello——寻梦者! 阅读(26885) 评论(2) 推荐(1)
摘要:今天在使用TextBox的TextInput事件的时候,发现无论如何都不能触发该事件,然后百思不得其解,最后在MSDN上找到了答案:TextInput 事件可能已被标记为由复合控件的内部实现进行处理。例如,TextBox 就是这样一个控件:在其组合期间已将 TextInput 事件标记为已处理。之所 阅读全文
posted @ 2016-03-07 17:44 Hello——寻梦者! 阅读(7753) 评论(2) 推荐(1)
摘要:创建步骤 在我们平时的项目中,我们经常需要一套自己的自定义控件库,这个特别是在Prism这种框架下面进行开发的时候,每个人都使用一套统一的控件,这样才不会每个人由于界面不统一而造成的整个软件系统千差万别,所以我们需要创建自己的一套界面库。下面介绍如何在WPF程序下创建自定义控件库。 1 在我们的项目 阅读全文
posted @ 2016-03-03 17:16 Hello——寻梦者! 阅读(9875) 评论(0) 推荐(1)
摘要:背景 什么是WPF中的画刷,顾名思义屏幕上可见的所有内容都可见,因为它是由画笔绘制的。 例如,画笔用于描述按钮的背景、文本的前景和形状的填充效果首先我们来看看WPF中包含哪些类型的画刷,下面的一组图片中描述了我们常用的画刷类型,后面我们通过一组具体的示例来讲述每一种画刷的具体使用方法。 图一 常见的 阅读全文
posted @ 2016-03-03 16:33 Hello——寻梦者! 阅读(7710) 评论(1) 推荐(1)
摘要:在我们的程序中,有时我们需要当绑定到UI界面上的属性值发生变化从而引起数据更新的时候能够加载一些动画,从而使数据更新的效果更佳绚丽,在我们的程序中尽量将动画作为一种资源放在xaml中,而不是在后台中通过写代码的这种方式来加载动画,在我们的这篇博客中我们尽量使用简洁的语言来阐述这一方法。 1 首... 阅读全文
posted @ 2016-01-26 21:53 Hello——寻梦者! 阅读(4229) 评论(0) 推荐(0)
摘要:背景 Attribute类是定义在System命名空间下面的一个抽象类,我们需要在很多的场合下面使用到它,除了.Net 框架中经常用到的一些定义好的特性外,我们也可以继承Attribute这个基类来构建我们自己的特性类,本篇文章我将从两个方面来介绍,一个是WPF中开发常用到的一些特性以及如何在项目中 阅读全文
posted @ 2016-01-11 16:56 Hello——寻梦者! 阅读(1252) 评论(0) 推荐(0)
摘要:在常规的MVVM设计模式中,都是通过DataContext将ViewModels的一个对象绑定到View的DataContext中,从而完成相应地绑定,在本文中我们将通过另外的一种思路来将ViewModels的一个对象绑定到View的DataContext中。 首先 ,在ViewModel中定义一个 阅读全文
posted @ 2015-12-16 15:15 Hello——寻梦者! 阅读(519) 评论(0) 推荐(0)
摘要:在之前的博客中曾经写到了一篇关于如何定义圆形进度条的文章,今天就ProgressBar再来进行一些总结,首先来介绍一下ProgressBar的结构,ProgressBar控件的模板有两个部分,我们在定义模板的时候用什么都可以,上面的定义指定是FrameworkElement,因此,只要是继承自... 阅读全文
posted @ 2015-12-16 14:21 Hello——寻梦者! 阅读(549) 评论(0) 推荐(1)
摘要:在我们的项目中经常要用到数据模板,最近做的一个项目中在数据模板中要放一些RadioButton,其中每一个RadioButton设置了Checked事件,如果直接在View层写Checked事件的话不符合MVVM的设计思想,View层尽量只做和界面相关的绑定,而把所有的逻辑都写在ViewModel... 阅读全文
posted @ 2015-12-09 17:02 Hello——寻梦者! 阅读(1368) 评论(0) 推荐(1)
摘要:一般在我们的项目中,最好是将Storyboard放在前台,然后设置Storyboard的x:key值,通过我们的TryFindResource来查找到当前的Storyboard来启动Stroyboard,这样程序显得比较合理,另外在我们的下面这个例子中,我们通过命令绑定的方式来将2个Storyboa 阅读全文
posted @ 2015-11-23 15:27 Hello——寻梦者! 阅读(1236) 评论(0) 推荐(0)
摘要:在我们的项目中有时需要我们自己来添加数据单元格,而不是使用DataGrid或者是ListView等控件来填充数据,在我们下面的这个例子当中,我们只使用Grid和Label控件来实现类似DataGrid这种形式的单元格,下面我们通过一个例子来说明,这里只是贴出重点的代码形式。 <Grid Grid.R 阅读全文
posted @ 2015-09-28 22:23 Hello——寻梦者! 阅读(740) 评论(0) 推荐(0)
摘要:在最近的一个项目中,涉及到一个自定义翻页控制的控件,下面就这一个控件做详细的说明,这个自定义控件的主要作用是对数据源进行翻页控制,比如说:“上一页、下一页、首页、末页”等相关操作,由于在一个项目中有多个界面要用到这一部分,所以我们将其封装成一个自定义控件,从而使软件整体结构更加清楚明了,首先我们来将 阅读全文
posted @ 2015-09-28 16:35 Hello——寻梦者! 阅读(486) 评论(0) 推荐(0)
摘要:在最近的一个项目中,将DataView类型的数据源绑定到ListView控件时,发现当DataView的内容发生变化时,前台的ListView控件的内容并没有发生改变,在这里我先贴出前台要绑定数据源的控件,然后再做进一步分析。 ... 阅读全文
posted @ 2015-09-25 17:27 Hello——寻梦者! 阅读(635) 评论(0) 推荐(0)
摘要:最近在学习ItemsControl这个控件的时候,查看了MSDN上面的一个例子,并且自己做了一些修改,这里主要使用了两种方式来进行相应的数据绑定,一种是使用DataContext,另外一种是直接将一个类绑定到前台,其实这两种方式原理差不多都是将数据模型的对象添加到一个ObservableCollec 阅读全文
posted @ 2015-08-15 23:52 Hello——寻梦者! 阅读(3467) 评论(0) 推荐(0)
摘要:在我们实际的工作中可能经常使用到圆形的进度条,但是这是怎么实现的呢?其实这只不过是修改了一下ProgressBar的模板,我们在下面的代码中我们将ProgressBar的Value值绑定到Border的Background上面,并且使用了一个ValueToProcessConverter的转换器进行 阅读全文
posted @ 2015-07-26 20:43 Hello——寻梦者! 阅读(3241) 评论(0) 推荐(1)
摘要:最近在做一个项目的时候,有一个需求就是,通过RadioButton来控制一行内容的显示与不显示,当不显示的时候,下面的项能够占住相应的位置,当增加的时候,又会在原来的位置重新显示,如果使用一般的Grid或者其它的布局的时候,位置就确定下来了,但是使用WrapPanel或者StackPanel这类的控 阅读全文
posted @ 2015-07-03 18:07 Hello——寻梦者! 阅读(3036) 评论(0) 推荐(0)
摘要:WPF布局的时候发现一个问题,ListBox放在Grid中的时候,老是无法充满整个Grid,但是查看代码也没有设置相关的属性,原来在设置ListBox之前首先要让ListBox的容器充满,然后ListBox才能充满整个布局,具体代码如下: 这样就能保证ListBox充满整个界面,这段代码实际上设置的 阅读全文
posted @ 2015-07-03 17:35 Hello——寻梦者! 阅读(1098) 评论(0) 推荐(1)