<Window
xmlns=">XAML 根元素和 xmlns
一个 XAML 文件只能有一个根元素,这样才能成为格式正确的 XML 文件和有效的 XAML 文件。通常,应选择属于应用程序模型一部分的元素(例如,为页面选择 Window 或 Page,为外部字典选择 ResourceDictionary,或为应用程序定义根选择 Application)。下面的示例演示 WPF 页面的典型 XAML 文件的根元素,其中的根元素为 Page。
根元素还包含属性 xmlns 和 xmlns:x。这些属性向 XAML 处理器指明哪些命名空间包含标记将要引用的元素的元素定义。xmlns 属性专门指示默认的 xmlns 命名空间。在默认的 xmlns 命名空间中,可以不使用前缀指定标记中的对象元素。对于大多数 WPF 应用程序方案以及 SDK 的 WPF 部分中给出的几乎所有示例,默认的 xmlns 命名空间均映射为 WPF 命名空间 >方法/步骤
1
打开vs2013,选择新建项目。也可以在文件选项中选择添加项目。
2
项目类型选项visual C#中的WPF应用程序。名字自己随意起,存放位置任意。点击完成。
3
点击完成后初始化是这个样子的,界面需要加载,时间根据电脑配置不同而不同。我们可以先熟悉界面各个部分的功能。
4
加载好之后会有一个窗口界面。比如文本框,按钮等等几乎所有控件都可以在工具箱中直接拖过来,直接可以使用。也可以在xaml界面框中自己编写,如果你熟悉html语言的话会上手很快的。
不会写xaml语言也没有关系,可以不使用。
5
拖好控件之后先布置界面。比如调整控件大小,位置,颜色,文本等等。
完成之后一定要记得为每个空间写名字,命名风格随意,怎么好记怎么来命名。
一定要有规律,以后方便编写代码。
6
界面设置好后就可以写代码,为程序添加功能。
界面只是躯壳,代码是灵魂。
如果你最喜欢布置界面,而编写代码困难建议向前端工程师发展。
7
在属性的旁边点击闪电符号,为控件添加事件。比如点击按钮,松开按钮等等很多事件。我们这里双击按钮控件,跳转到代码界面,编写程序。这里以简单的整数类型为例,为了更加实用可以使用double类型的,只要会转化就行了。
8
编写完之后就可以运行程序了。
快捷键ctrl+F5。至此,一个简单的小学生计算器就大功告成了。
>C#和Java和不少相似之处,一般认为比Java稍难一点。会Java,再稍花点时间就成了——毕竟初学的时候并不需要成为语言专家,边用边学也不错。
至于WPF并不是非得用C#,用VBnet啥的也成。准确地说WPF是net的一部分而不是C#的一部分——但通常使用C#来编写后台代码,用XAML语言来定义前台界面(包含一些特效)。
Xaml的本质是Xml,Xaml的命名空间被挂接(或者说映射)到net命名空间,这种映射并不完全是一对一的,Xaml中的元素则被映射到net类。所以,在Xaml中定义:
<Button Name="BtnOK" Height="24" Width="72">
<Rectangle Fill="Black" Height="16" Width="16"/>
</Button>
从效果上来看,相当于在C#代码中:
Button BtnOK=new Button(){Height=24,Width=72};
BtnOKContent=new Rectangle(){Fill="BrushesBlack",Height=16,Width=16};
实际上,能用Xaml定义的元素,也可以使用C#代码来实现。但用Xaml定义可以实现“界面与代码分离”。如果搞过ASPnet应该很容易理解“界面与代码分离”有什么好处。
所以,WPF需要的基础主要是两样:C#、XML(入门阶段对Xml的知识储备要求并不高)。
但是,WPF的学习曲线比较陡也是事实。所以,找本好教材吧(考虑到银子,先看看电子版较好)。百度知道里有不少推荐。
starj1说的“所有的控件都可以重写”其实是挺有道理——WPF确实比WinForm自由得多——但相应地,理解起来就会比较费事,得花点力气。只是熟练之后,改造出自己的控件比WinForm也方便多了。而且WPF封装了DirectX,更容易利用显卡,在做出绚丽的效果时,运行性能更好些。由于WPF在首次启动时较慢,因此过小的超微型项目个人认为不宜使用WPF来实现。
另外,WPF主要是用来取代WinForm做界面,但它并不能取代一切。你要在后台实例化窗体,是根据这个Window的类名
(前台显示 x:Class="WpfApplication1Window1"
后台显示 public partial class Window1 : Window)
去做后台实例化的呀。不需要设置NAME或者ID。。。
实例化 就 Window1 mywindow = new Window1();默认是引用这些命名空间,没有Thems那一项
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using SystemWindows;
using SystemWindowsControls;
using SystemWindowsData;
using SystemWindowsDocuments;
using SystemWindowsInput;
using SystemWindowsMedia;
using SystemWindowsMediaImaging;
using SystemWindowsNavigation;
using SystemWindowsShapes;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)