文章分类 - WPF
WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
摘要:<Label MaxWidth="550"><TextBlock TextWrapping="Wrap"Text="在此输入要换行的文字,前提是它足够长,并且Label的MaxWidth不足以让它一行显示。" /></Label>
阅读全文
摘要:第一种:<TextBlock> This is line 1.<LineBreak/> This is line 2.</TextBlock>第二种<TextBlock xml:space="preserve">This is line 1. This is an indented line 2.</TextBlock>第二种加了xml:space="preserve",可以直接在文本上按space,tab键,不用标记,比较方便
阅读全文
摘要:10. 数据提供程序(1) XmlDataProviderXmlDataProvider 允许我们直接将 XML 数据作为数据源,我们将前面章节的例子改成 XML 数据岛试试,注意此时我们已经不需要在代码中定义 Personal、PersonalList 类型。 1 <Window x:Class="Learn.WPF.Window1" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsof
阅读全文
摘要:8. 集合视图当绑定到一个集合对象时,WPF 总是默认提供一个视图 (CollectionViewSource)。视图会关联到源集合上,并自动将相关的操作在目标对象上显示出来。(1) 排序向 CollectionViewSource.SortDescriptions 属性中插入一个或多个排序条件 (SortDescription) 即可实现单个或多个条件排序。Window1.xaml 1 <Window x:Class="Learn.WPF.Window1" 2 xmlns="http://schemas.microsoft.com/winfx/2006/x
阅读全文
摘要:6. 数据模板数据模板为展示数据提供了极大的灵活性,我们继续以前面的例子来看看它的能力。 1 <Window x:Class="Learn.WPF.Window1" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:my="clr-namespace:Learn.WPF" 5 Title=&quo
阅读全文
摘要:4. 绑定到集合在实际开发中,我们通常是将一个集合数据对象 (比如数据表) 绑定到一个 DataGrid 或者 ListBox 列表控件上,这时候我们就需要使用到集合绑定方式。WPF 特意为我们实现了一个 System.Collections.ObjectModel.ObservableCollection<T> 泛型集合,省却了我们写具备变更通知功能集合代码的时间。Window1.xaml<Window x:Class="Learn.WPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2
阅读全文
摘要:实例代码:http://files.cnblogs.com/xuwenfeng/binding1.rar1. 绑定简介WPF 绑定可以在源数据对象和 UI 控件间建立联系,实现单向或双向变更通知,以此实现更好的业务逻辑和 UI 的分离。通常的模式是: 将目标对象(通常是XAML元素控件等)的目标属性(必须是依赖属性)通过绑定对象(Binding对象实例)绑定到数据源(CLR对象、ADO.NET 数据表、XML数据等)。比如我们可以将 TextBox1.Text 绑定到 Personal.Name。下面的例子中,我们可以观察到如下自动行为。(1) 单击 btnSet 修改源对象,会发现目标属性
阅读全文
摘要:一、窗体类在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
阅读全文
摘要:依赖属性并不是一种语言层面的 "属性",而是一种 WPF 提供的 "功能"。它在 CLR Property 的基础上封装了一些内在的行为,使得基于声明式的 XAML 具备更强大的动作操控能力,很显然这比使用程序设计代码编写行为事件要简便和自然得多。
阅读全文
摘要:无论是winform还是wpf都有控件,任何一种UI的呈现都离不开控件。一、内容控件:1、按钮控件:Button:值得注意的地方是:点击事件是在鼠标左键按下(或键盘enter键按下)之后并松开才能触发的事件。当一个窗体是通过showDialog的方法打开的话,那么这个窗体上的button具有以下属性:Iscancel,和Isdefault当IsCancel置 为true时点击即可关闭对话框,Isdufault设为true时,按enter就会触发该按钮的单击事件。ReapeatButton:形状与Button类似,但是他的单击事件发生在:鼠标按下还未松开之时(或回车键按下之后并未松开)有两个属性
阅读全文
摘要:Microsoft 将 XAML 定义为 "简单"、"通用"、"声明式" 的 "编程语言"。这意味着我们会在更多的地方看到它(比如 Silverlight),而且它显然比其原始版本 XML (XAML 是一种基于 XML 且遵循 XML 结构规则的语言) 多了更多的逻辑处理手段。如果愿意的话,我们完全可以抛开 XAML 来编写 WPF 程序。只不过这有点类似用记事本开发 .NET 程序的意味,好玩不好用。XAML 的定义模式使得非编程人员可以用 "易懂" 的方式来刻画 UI,并且这种方式我们早已
阅读全文
摘要:创建一个简单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
阅读全文
摘要:和 WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain 中只能有一个 Application 实例存在。和 WinForm 不同的是 WPF Application 默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Delphi Form,将定义和行为代码相分离。当然,WebForm 也采用了类似的方式。XAML 从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL,它的所有定义都直接映射成某些代码,只不过具体的翻译工作由编译器完成而已。
阅读全文
摘要:数据绑定的方式:(1)、OneWay,单一方向的绑定,只有在数据源发生变化后才会更新绑定目标。(2)、TwoWay,双向绑定,绑定的两端任何一端发生变化,都将通知另一端。(3)、OneTime,只绑定一次。绑定完成后任何一端的变化都不会通知对方。例如: <TextBox OpacityMask="AliceBlue" Text="{Binding Titile,Mode=OneWay}" > </TextBox> <TextBox OpacityMask="AliceBlue" Text="{B
阅读全文
摘要:原来在Windows Form程序中,获取自身的启动目录是非常容易的,可以使用Application.StartupPathApplication.ExecutablePath…但是,这些方法,在WPF中都失效啦在WPF中获取自身的启动路径,是采用进程的方式来获取的String appStartupPath = System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
阅读全文

浙公网安备 33010602011771号