摘要: 4. 绑定到集合在实际开发中,我们通常是将一个集合数据对象 (比如数据表) 绑定到一个 DataGrid 或者 ListBox 列表控件上,这时候我们就需要使用到集合绑定方式。WPF 特意为我们实现了一个 System.Collections.ObjectModel.ObservableCollection<T> 泛型集合,省却了我们写具备变更通知功能集合代码的时间。Window1.xaml<Window x:Class="Learn.WPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2 阅读全文
posted @ 2011-08-22 16:26 徐文峰 阅读(346) 评论(0) 推荐(0)
摘要: 实例代码:http://files.cnblogs.com/xuwenfeng/binding1.rar1. 绑定简介WPF 绑定可以在源数据对象和 UI 控件间建立联系,实现单向或双向变更通知,以此实现更好的业务逻辑和 UI 的分离。通常的模式是: 将目标对象(通常是XAML元素控件等)的目标属性(必须是依赖属性)通过绑定对象(Binding对象实例)绑定到数据源(CLR对象、ADO.NET 数据表、XML数据等)。比如我们可以将 TextBox1.Text 绑定到 Personal.Name。下面的例子中,我们可以观察到如下自动行为。(1) 单击 btnSet 修改源对象,会发现目标属性 阅读全文
posted @ 2011-08-18 13:13 徐文峰 阅读(526) 评论(0) 推荐(0)
摘要: 一、窗体类在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体)。定义的窗体由两部分组成:1、XAML文件 1: <Window 2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4: x:Class="WpfWindow.BasicWindow&qu 阅读全文
posted @ 2011-08-18 09:01 徐文峰 阅读(1061) 评论(0) 推荐(0)
摘要: 依赖属性并不是一种语言层面的 "属性",而是一种 WPF 提供的 "功能"。它在 CLR Property 的基础上封装了一些内在的行为,使得基于声明式的 XAML 具备更强大的动作操控能力,很显然这比使用程序设计代码编写行为事件要简便和自然得多。 阅读全文
posted @ 2011-08-17 14:54 徐文峰 阅读(310) 评论(0) 推荐(0)
摘要: 无论是winform还是wpf都有控件,任何一种UI的呈现都离不开控件。一、内容控件:1、按钮控件:Button:值得注意的地方是:点击事件是在鼠标左键按下(或键盘enter键按下)之后并松开才能触发的事件。当一个窗体是通过showDialog的方法打开的话,那么这个窗体上的button具有以下属性:Iscancel,和Isdefault当IsCancel置 为true时点击即可关闭对话框,Isdufault设为true时,按enter就会触发该按钮的单击事件。ReapeatButton:形状与Button类似,但是他的单击事件发生在:鼠标按下还未松开之时(或回车键按下之后并未松开)有两个属性 阅读全文
posted @ 2011-08-17 14:50 徐文峰 阅读(332) 评论(0) 推荐(0)
摘要: Microsoft 将 XAML 定义为 "简单"、"通用"、"声明式" 的 "编程语言"。这意味着我们会在更多的地方看到它(比如 Silverlight),而且它显然比其原始版本 XML (XAML 是一种基于 XML 且遵循 XML 结构规则的语言) 多了更多的逻辑处理手段。如果愿意的话,我们完全可以抛开 XAML 来编写 WPF 程序。只不过这有点类似用记事本开发 .NET 程序的意味,好玩不好用。XAML 的定义模式使得非编程人员可以用 "易懂" 的方式来刻画 UI,并且这种方式我们早已 阅读全文
posted @ 2011-08-17 14:38 徐文峰 阅读(384) 评论(0) 推荐(0)
摘要: 创建一个简单WPF的应用程序,点击按钮,在文本框中显示“Hello WPF World”,我们通过此例来分析WPF应用程序的结构。XAML文件如下:<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="WpfApplication7.MainWindow" x:Name="Window" x 阅读全文
posted @ 2011-08-17 14:33 徐文峰 阅读(184) 评论(0) 推荐(0)
摘要: 和 WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain 中只能有一个 Application 实例存在。和 WinForm 不同的是 WPF Application 默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Delphi Form,将定义和行为代码相分离。当然,WebForm 也采用了类似的方式。XAML 从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL,它的所有定义都直接映射成某些代码,只不过具体的翻译工作由编译器完成而已。 阅读全文
posted @ 2011-08-17 14:19 徐文峰 阅读(386) 评论(0) 推荐(0)
摘要: 数据绑定的方式:(1)、OneWay,单一方向的绑定,只有在数据源发生变化后才会更新绑定目标。(2)、TwoWay,双向绑定,绑定的两端任何一端发生变化,都将通知另一端。(3)、OneTime,只绑定一次。绑定完成后任何一端的变化都不会通知对方。例如: <TextBox OpacityMask="AliceBlue" Text="{Binding Titile,Mode=OneWay}" > </TextBox> <TextBox OpacityMask="AliceBlue" Text="{B 阅读全文
posted @ 2011-08-16 12:42 徐文峰 阅读(280) 评论(0) 推荐(0)
摘要: winform中textbox实现网页中的自动完成功能 阅读全文
posted @ 2011-08-15 12:46 徐文峰 阅读(1740) 评论(1) 推荐(0)