登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

雅博

思慢行远,君子慎独

 
 
 

日志

 
 
关于我

积极的东西推动社会进步,消极的东西维系着社会平衡,不至于让整个社会体系崩溃。负面情绪不能无限制的发展,过犹不及。毁灭人类的决不是人类的野心,而是控制野心的能力失控。

3.WPF应用程序结构——HelloWorld  

2009-11-13 13:47:50|  分类: WPF |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

创建一个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="WPFHelloWorld.MainWindow"
x:Name="Window"
Title="WPF Hello World"
Width="300" Height="130"
WindowStartupLocation="CenterScreen">
<
StackPanel Margin="10,10,10,10" >
<
TextBox x:Name="txtValue" Width="200" />
<
Button x:Name="btnOK"
Content="OK" Width="50"
Click="btnOK_Click">
<
Button.Margin>
<
Thickness Top="10" />
</
Button.Margin>
</
Button>
</
StackPanel>
</
Window>

C#代码如下:

using System.Windows;

namespace WPFHelloWorld
{
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();

Window.ResizeMode = ResizeMode.NoResize;
}

private void btnOK_Click(object sender, RoutedEventArgs e)
{
txtValue.Text = "Hello WPF World!";
}
}
}

 

程序执行效果如图:

3.WPF应用程序结构——HelloWorld - 雅博 - 雅博

分析此项目的代码得到如下几点:

  • 与基于Windows的应用程序,Web应用程序类型,WPF的窗体也属于“类型化窗体”,即每一个窗体均继承于“System.Windows.Window”类
  • 对于WPF控件的属性,可以在XAML文件中声明设置,也可以在代码中设置(这一点和ASP.Net WebControl的属性设置类似)
  • 在XAML文件Windows声明中有两个命名空间
    • xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" :将整个 Windows Presentation Foundation (WPF) 命名空间映射为默认命名空间
    • xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" :映射单独的可扩展应用程序标记语言 (XAML) 命名空间,通常将其映射为 x: 前缀
    • 注意这两个命名空间引用的是URI而不是真实存在的URL
  • 对于控件的某些属性,可以直接设置,也可以单独设置。很多 WPF 类型或这些类型的成员扩展了基本字符串属性处理行为,因此更复杂的对象类型的实例可通过字符串指定为属性值。在代码级别,此处理是通过指定处理字符串属性值的 CLR 类型转换器来完成的。如Margin。在本例中StackPanel的Margin属性直接以字符串形式给出,而Button的Margin则是通过CLR映射给出的。
  • 如在代码中使用某控件对象,则该对象需在XAML声明中以x:Name方式指定,如在代码中不需访问此控件对象的属性或方法,则不需指定
  • Window声明中的x:Class指定了该XAML文件所对应的后台类,事件的处理方法就是写在这个类中的
  • WPF采用的事件处理与ASP.Net类似,在XAML文件的控件声明位置进行事件绑定,在后台类中给出事件处理方法的具体代码
  评论这张
 
阅读(1363)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018