对于废话常常还是要说的,不说怎么知道是废话;所以这一段还是把它罗列出来了,等到人老体衰的时候也好怀念下当时是怎么工作的。
1.1 创建第一个WPF应用程序
1.1.1 Visual Studio 2008建立WPF
首先打开vs2008 ,单击File -> New -> Project见(图 1-1)
在弹出的界面中选中WPF Application见(图 1-2)
修改文件的路径名和项目名称,其中(图1 -3)中的
Name 指project 的名字.
Location 指你文件存放的地址.
Solution Name Solution 可以包含多project ,如果只有一个project,名字可以一样.
Create directory for solution 指为solution建立一个文件夹,而不至于你的文件散乱在外,当然如果你已经制定了文件夹可以忽略此选项,文件夹名字和项目名称一致见(图1-4).
Add to Source Control 指为项目添加如VSS,TFS等版本控制软件,适合多人协作时使用
单击OK,完成项目建设.在vs2008的左边会出现一个建立好的项目,删除其中的两个App.xaml和Window1.xaml以及它们对应的CS文件后,见(图 1-5),一个项目就 出现在我们眼前了.
选中绿色的Project 项目,点击右键,Add -> NewItem见图(1-6).
选中Templates 中的 Class,修改Name中的名称.见(图 1-7)
单击Add后项目变为添加了一个c#文件的项目(HelloWorld.cs).就这样项目就建立好了.见(图 1-8)
1.1.1 后端代码部分
双击HelloWorld .cs 文件打开后可以见到一个HelloWorld的一个类,是不是感觉孤孤单单,那让我们把它一点点充实起来吧.
{
}
因为我们是在Window 开发环境下进行开发所以我们选择的基类是Window,如若是Web的话就要选择Page了,注意不要忘记加引用, using System.Windows;不过vs2005之后就有智能提示,这让我们的工作轻松了很多.
学过C语言的朋友都知道程序都有入口Main,WPF里默认会自动生成一个,所在目录为 obj\Debug\App.g.cs,但是你想要自己定义一个函数入口,比如需要定义参数,或是在主窗体启动前先弹出登入对话框的话,那就需要自己写一个.
{
[STAThread]
public static void Main()
{
Application app = new Application();
app.Run(new HelloWorld());
}
public HelloWorld()
{
}
}
其中注意Main是static函数,而且它的头上是有个[STAThread]来标注它是开始线程,我们的程序Application,要启动(run)一个函数,就要把那个类给实例化出来.
不过我们还要做个动作,刚才不是说了么,WPF 有个默认的Main函数,那怎么让系统启动我们自己写的程序呢.还是选中项目的属性(Properites)见(图 1-9),然后再Application中的Startup object里选中我们刚才写的那个Main函数.见(图1-10)
点击Debug 按钮或是F5就可以运行程序了.不过是不是感觉太空空了呢.见图(1-11)
那让我们填充一些东西上去吧.
{
Button button = new Button();
button.Name = "firstButton";
button.Content = "I'm a button";
this.Content = button;
}
代码看上去没有什么特别,不过其中Button的Content属性容易让人联想到Winform的Text属性,实际上在WPF中Content是一个相当于容器的概念,Content所赋予的 I’m a button 这段文字其实是一个TextBlock 的代码封装,如同:
text.Text = "I'm a button";
button.Content = text;
同理Window 也有这么个Content的容器,我们才能如此舒舒服服的把Button控件放进去。
运行结果如(图1-12)所示