随笔分类 -  -=WPF=-

摘要:下图显示继承关系:ContentControl:Control (在Control類並沒有Content屬性, 所以在這之上再寫了一個ContentControl, 使控件有Content屬性可以顯示內容)ContentPresenter:FrameworkElement (ContentPresenter一般用在CT里负责把Control指定的Content显示出来)Control:FrameworkElementItemsControl:ControlItemsPresenter:FrameworkElement接著來我們看一下實例:使用ContentPresenter ... 阅读全文
posted @ 2013-09-30 11:13 若愚Shawn 阅读(3987) 评论(0) 推荐(1)
摘要:I. Binding to Object1. Binding data using ObjectDataProviderAC:Let’s say there is a CLR based data bound object that you are trying to implement. For example a collection of Tool objects, e.g.An Object called Tool that contains a bunch of properties that we want to bind (in this case it just contain 阅读全文
posted @ 2013-09-20 12:01 若愚Shawn 阅读(462) 评论(0) 推荐(0)
摘要:DataTemplate和ControlTemplate的关系(转载自haiziguo)一、ContentControl中的DataTemplate在开始之前,我们先去看一下ContentControl的定义,有两个属性: public object Content { get; set; } public DataTemplate ContentTemplate { get; set; }其特点是只能容纳一个内容,内容类型是object类型,其中Button控件是我们大家比较熟悉且属于ContentControl的类,这里用TextBlock做Content。这个很正常,因为内容是o... 阅读全文
posted @ 2013-09-20 08:29 若愚Shawn 阅读(503) 评论(0) 推荐(0)
摘要:using System;using System.ComponentModel;using System.Globalization;using System.Windows.Data;namespace WPFComponents{ [ValueConversion(typeof(string), typeof(int))] public class StringToIntegerConverter : IValueConverter { public object Convert(object value, Type targetType, ... 阅读全文
posted @ 2013-09-19 14:57 若愚Shawn 阅读(561) 评论(0) 推荐(0)
摘要:如何拿到Source:从SQL,从XML fileSQL:一个是ObjectDataProvider//用linq方法拿到SQL data,wrap到一个IEnumerablepublic IEnumerable GetAllCustomersAsList() { var items = from cust in this.Customers orderby cust.LastName select cust; return items.ToList(); }View Code //xaml里定... 阅读全文
posted @ 2013-09-19 13:44 若愚Shawn 阅读(255) 评论(0) 推荐(0)
摘要:http://msdn.microsoft.com/en-us/magazine/cc163299.aspx#S1Data Binding in WPFJohn PapaCode download available at:DataPoints2007_12.exe(161 KB) Contents Data Binding SpecificsCreating a Simple BindingBinding ModesA Time to BindBinding to XMLObject Binding and DataTemplatesSorting the DataForging Ahea. 阅读全文
posted @ 2013-09-03 08:35 若愚Shawn 阅读(734) 评论(0) 推荐(0)
摘要:需要用到code behind注意要给需要访问的元素命名x:Name="PART_TextBlock" custom control的程序部分using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;us 阅读全文
posted @ 2013-08-16 14:39 若愚Shawn 阅读(492) 评论(0) 推荐(0)
摘要:I always thought it was odd that WPF has both TextBlock and Label. They both are responsible for displaying a small amount of text. Every piece of documentation about Label I have read justifies its existence by mentioning that it allows for access keys. Access keys allow you to hit Alt + SomeKey to 阅读全文
posted @ 2013-07-20 22:02 若愚Shawn 阅读(438) 评论(0) 推荐(0)
摘要:WPF学习:5.依赖属性 前一章主要介绍了类型扩展和标记转换,这一章主要介绍WPF中一个重要的特性-依赖属性。按照惯例,先贴上示例代码:http://files.cnblogs.com/keylei203/5.BindingDP.zip。一个新的属性系统 依赖属性的设计思想就是侧重于属性超过方法和事件,能用属性解决的问题解决不使用方法和事件,以往的属性功能太单一,仅仅是提供一个类型的值,WPF提供了一个新的属性类型即依赖属性和与之配套的服务,让它能做方法和事件所能做的事情。 依赖属性和一般的CLR属性大部分相似,那么这种新的属性系统的优势在哪里呢,下面让我们看看依赖属性和CLR属性的区别... 阅读全文
posted @ 2013-05-28 10:55 若愚Shawn 阅读(338) 评论(0) 推荐(0)
摘要:一、普通属性首先我们来探讨下.NET里面的属性,我们平时写一个类的时候我们需要定义一些字段来保存一些值。public class Person{ public string nam; public int age;}但是我们会发现,这样子定义的话不能满足我们的需求,比如说我们需要实现一些对字段值得验证限制什么的,这时候我们就需要属性来为我们实现了。因为我们能在给属性设置的时候编写我们的验证逻辑。public class Person{ private string name; private int age; public int Age { get{retur... 阅读全文
posted @ 2013-05-28 10:40 若愚Shawn 阅读(251) 评论(0) 推荐(0)
摘要:简介 一个绑定常常由四部分组成:绑定源、路径、绑定目标及目标属性,同时转换器也是一个非常重要的组成。源用来标示源属性所存在的类型实例,路径用来标示需要绑定到的处于绑定源之上的源属性,绑定目标标示将接受相应更改的属性所在的实例,目标属性则用来标示接受绑定运行值的目标,而转换器则在源属性和目标属性不能直接赋值时执行转化工作。 这四部分组成之间的联动方式为:绑定源发出属性更新的通知,从而驱动绑定执行。其中源属性将作为绑定的输入,而绑定的输出则被赋予目标属性。如果绑定声明中标明了转换器,那么转换器将被执行,从而将源属性转化为合适 的目标属性。除了这些组成之外,绑定还常常使用转换器参数,绑定模式等各.. 阅读全文
posted @ 2013-05-26 17:36 若愚Shawn 阅读(505) 评论(0) 推荐(0)
摘要:Binding中使用RelativeSource问题:当前View有一个DataGrid,其DataGridTemplateColum设置了一个ComboBox。其对应的VM是local:ViewMode,含有ModelValue和myLIst属性分别用来做DataGrid的ItemSource,和ComboBox的ItemSource。外层内层看起来链接的VM层不同的property。初始代码如下:<DataGrid ItemsSource="{Binding ModelValues, Mode=TwoWay, UpdateSourceTrigger=PropertyChan 阅读全文
posted @ 2013-05-26 16:36 若愚Shawn 阅读(716) 评论(0) 推荐(0)
摘要:4 kinds of RelativeSourcemode(MSDN)Self:If you want to bind to another property on the object:{Binding Path=PathToProperty, RelativeSource={RelativeSource Self}} Imagine this case, a rectangle that we want that its height is always equal to its width, a square let's say. We can do this using the 阅读全文
posted @ 2013-05-23 18:07 若愚Shawn 阅读(387) 评论(0) 推荐(0)
摘要:http://stackoverflow.com/questions/5584948/format-date-time-in-xaml-in-silverlighthttp://matthiasshapiro.com/2010/05/28/silverlight-4-binding-and-stringformat-in-xaml/http://www.codeproject.com/Articles/195436/Formatting-text-in-Silverlight-XAML-using-StringFohttp://msdn.microsoft.com/en-us/library/ 阅读全文
posted @ 2013-05-23 16:15 若愚Shawn 阅读(170) 评论(0) 推荐(0)
摘要:创建Resource的时候我们一般在本Solution根目录下右键创建新的resource文件,is just a collection of any typed objects, not elements.比如:1 <LinearGradientBrush EndPoint="1,0" x:Key="brush1">2 <GradientStop Color="Yellow" Offset="0" />3 <GradientStop Color="Orange" 阅读全文
posted @ 2013-05-14 15:18 若愚Shawn 阅读(1116) 评论(0) 推荐(0)
摘要:ModelM_Object{ A B}ViewShow_AShow_BSave_Button VModelVM_A binding to Show_AVM_B binding to Show_BVM_Object{M_Object ownObject;property VM_A {get; set;}property VM_B {get; set;}}void Save(){M_Object.A = VM_A;M_Object.B = VM_B;}void Load() //initialize Model call load function{VM_A = M_Object.A;VM_B = 阅读全文
posted @ 2013-03-19 23:47 若愚Shawn 阅读(208) 评论(0) 推荐(0)
摘要:Element to element binding:Data binding一种情况是前台元素与后台data object,第二种是前台元素之间的binding。(ElementSource:第一种拿Source的方法)1: Xaml的binding表达用markup extension,target property一定要是DP。2:我们一般set最基本的两个binding属性,Source property用Path属性(写DT的时候经常省略,并且不要写ElementName或者Source), Source Object 用ElementName属性.3:只写{Binding}表示bi 阅读全文
posted @ 2013-03-18 11:51 若愚Shawn 阅读(353) 评论(0) 推荐(0)
摘要:ContentControl<Button>,<ScrollViewer>,<Label>,<CheckBox>,<RadioButton>,<ToolTip>1:ContentControl class 有一个类型是object的Content属性,可以是任何东西。eg:button控件的content可以是任何形式的element:(text,text+image, image)和一个ContentTemplate属性可以接收DataTemplate类型的控件。2:ContentControl的Content属性可以隐 阅读全文
posted @ 2013-03-11 03:46 若愚Shawn 阅读(323) 评论(0) 推荐(0)
摘要:1:写xaml的时候写在multiply line里(使用Xaml Styler插件会自动转行)。2:Naming ConventientResources以文件名.key的形式写:InputPageOilSwellResources.DesignNameColumnStyle,若已经在本层的话就不用写文件名了。x:Name应该用'_master'的形式,同coding的private命名resources的时候either是style或者Template写成 DesignNameColumnStyle, DesignNameColumnTemplate,中间没有其他的连字符。 阅读全文
posted @ 2013-03-07 06:54 若愚Shawn 阅读(281) 评论(0) 推荐(0)
摘要:今天记录一下前端项目中使用DataTemplateSelector的步骤。首先看项目目录:这里有一个FiledType.cs文件,还有一个RefineSearch.xaml以及其后台程序。FiledType.cs里是关于要使用的类的属性的定义,里面有一个类的构造,这里可以看到FiledType的类的构造函数,里面的参数是我们后面要做的ComboBox里面items类型所有的属性。即ComboBox里每一项都是一个复杂的FiledType类型,而且里面包含如下这些属性信息。FieldType(int sortOrder, string readableName, string internalN 阅读全文
posted @ 2012-11-26 22:59 若愚Shawn 阅读(350) 评论(0) 推荐(0)