|
阅读:7929回复:0
WPF的相关知识点总结如何为WPF添加Main()函数 参考:http://www.cnblogs.com/sunxf2011/archive/2011/12/12/2285071.html WPF关闭应用程序方法 http://www.cnblogs.com/ZetaChow/archive/2010/05/17/2237338.html Windows1.xaml.cs文件(部分): private void btn_Exits_Click(object sender, RoutedEventArgs e) { Application.Current.Shutdown(); } WPF下怎么让控件大小跟着窗口的大小变化而变化? 如果在XAML里设置: 设置控件的 HorizontalAlignment="Stretch",VerticalAlignment="Stretch", 且不要显式设置控件的Width和Height属性. 如果是在代码里设置: Button btn = new Button(); btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; btn.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; wpf怎样实现在绑定表达式前加默认字符串 <TextBlock Text="{Binding ElementName=textBlock1,Path=Text,StringFormat=c:\\{0}}" Background="Red" Width="100" Height="100"/> 参考地址:http://zhidao.baidu.com/link?url=u6hNAXaLxOYEcBIViascG2fgPRorVYQyN9eULCiVyNCKihlqUGJmCBOZWtp6KS8DtdrE9GN-xDwzL5gM0XiY5_ WPF:很不给力的WebBrowser.NavigateToString webBrowser.NavigateToString("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>刘</body></html>"); 参考地址:http://www.mgenware.com/blog/?p=295 VS2010安装项目的系统必备中添加.NET 2.0 与.NET 3.5 VS2010安装项目的系统必备中没有.NET 2.0,但可以从VS2008的程序文件中找到 .NET 2.0 的系统必备安装包。 安装了VS2008 的 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages 下的 DotNetFX 文件夹,就是 .NET 2.0 的系统必备安装包。 把 DotNetFX 文件夹复制到安装了 VS2010 的 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下,然后在VS2010中就可以选择 .NET 2.0 的系统必备了。 .NET 3.5 添加同样操作 参考地址:http://blog.csdn.net/cjh200102/article/details/7558107 WPF LinkLabel 控件 下载地址:Themed Controls Library 参考文档:http://www.blagoev.com/Blog/post/Building-a-WPF-LinkLabel-control.aspx wpf hyperlink 隐藏下划线 < Style TargetType ="Hyperlink" > < Setter Property ="Foreground" Value ="#209AC2" /> <!-- 清除文字修饰(去掉下划线) --> < Setter Property ="TextBlock.TextDecorations" Value =" {x:Null} " /> < Style.Triggers > < Trigger Property ="IsMouseOver" Value ="True" > < Setter Property ="Foreground" Value ="#F27D00" /> <!-- 在鼠标悬停时显示下划线 --> < Setter Property ="TextBlock.TextDecorations" > < Setter.Value > < TextDecorationCollection > < TextDecoration Location ="Underline" /> </ TextDecorationCollection > </ Setter.Value > </ Setter > </ Trigger > </ Style.Triggers > </ Style > DEMO:http://www.cnblogs.com/hiyz/archive/2012/07/07/2580315.html 1. WPF学习之控件与布局 GUI是程序界面的优胜者,在Windows上实现图形用户界面有很多种方法,每种方法又都有自己的一套开发理念和工具。每种GUI开发方法与它的理念和工具共同组成了一种方法论,常见的有:[方法论=方法+理念+工具]
形而上者谓之道,形而下者谓之器。本次讲解主要是将WPF内部运行机理。可以说是WPF之“道”,然而如果没有动手写程序这个“器”,何以载道? 2. WPF之Binding深入探讨 程序的本质是数据+算法。数据会在存储、逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要。但算法在3层中的分布是不均匀的,对于一个3层结构的程序来说,算法一般分布在这几处: A。数据库内部。 B。读取和写回数据。 C。业务逻辑。 D。数据展示。 E。界面与逻辑的交互。 如果把Binding比作数据的桥梁,那么它的两端分别是源(Source)和目标(Target)。数据丛哪里来哪里就是源,到哪里去哪里就是目标。一般情况下,Binding的源是业务逻辑层的对象,Binding的目标是UI层的控件对象。这样数据就会源源不断的通过Binding送达UI界面,被UI层展现,这就完成了数据驱动UI的过程。有了这座桥梁,我们不仅可以控制车辆在源与目标之间是双向通行还是单向通行。还可以控制数据的放行时机,甚至可以在桥上搭建一些关卡用来转换数据类型或者检验数据的正确性。 通过对Binding有了一个基本概念之后,让我们看一个最基本的例子。这个例子是创建一个简单的数据源并通过Binding把它连接到UI元素上。 注意: 顺便提一句,Binding还具有NotifyOnSourceUpdated属性和NotifyOnTargetUpdated两个bool类型是属性。如果设置为True,则在源或目标被更新以后就会触发相应的SourceUpdated事件和TargetUpdated事件。实际工作中我们可以监听这两个事件来找出来哪些数据或控件被更新了。"没有Path"的Binding 有的时候我们会在代码中我们看大Path是一个“.”或者干脆没有Path的Binding,着实让人摸不着头脑。原来这是一种比较特殊的情况---Binding源本身就是一种数据且不需要Path来指明。典型的string,int等基本类型都是这样,他们是实例本身就是数据,我们无法指定通过那个属性来访问这个数据,这是我们只需要将这个数据设置为.就可以了。在XAML中这个.可以忽略不写,但是在C#中编程必须要带上。下面请看下面这段代码: [html] view plaincopyprint?
注意: 最后这种简写很容易被误解为没有指定Path,其实只是省略掉了。与只等效的C#代码如下: [csharp] view plaincopyprint?
注意: 最后顺便带一句,PropertyPath除了用于Binding的Path属性之外,在动画编程的时候也会派上用场(Storyboard.TargetProperty)。在用于动画编程的时候,PropertyPath还有另外一种语法,到时候我们细说。 |
|
最新喜欢:
|