zoukankan      html  css  js  c++  java
  • WPF学习笔记(一)

    对于废话常常还是要说的,不说怎么知道是废话;所以这一段还是把它罗列出来了,等到人老体衰的时候也好怀念下当时是怎么工作的。

    1.1 创建第一个WPF应用程序

    1.1.1 Visual Studio 2008建立WPF

    首先打开vs2008 ,单击File -> New -> Project见(图 1-1)

         image (图 1-1)

     

     

    在弹出的界面中选中WPF Application见(图 1-2)

    image (图 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等版本控制软件,适合多人协作时使用

     

     image (图1-3)

     

     image (图 1-4)

     

     

    单击OK,完成项目建设.在vs2008的左边会出现一个建立好的项目,删除其中的两个App.xaml和Window1.xaml以及它们对应的CS文件后,见(图 1-5),一个项目就 出现在我们眼前了.

     

    image (图 1-5)

     

    选中绿色的Project 项目,点击右键,Add -> NewItem见图(1-6).

     

    image (图 1-6)

     

     

    选中Templates 中的 Class,修改Name中的名称.见(图 1-7)

     image (图 1-7)

     

     

    单击Add后项目变为添加了一个c#文件的项目(HelloWorld.cs).就这样项目就建立好了.见(图 1-8)

     image (图 1-8)

     

     

    1.1.1 后端代码部分

    双击HelloWorld .cs 文件打开后可以见到一个HelloWorld的一个类,是不是感觉孤孤单单,那让我们把它一点点充实起来吧.

     

    public class HelloWorld:Window 




     

    因为我们是在Window 开发环境下进行开发所以我们选择的基类是Window,如若是Web的话就要选择Page了,注意不要忘记加引用, using System.Windows;不过vs2005之后就有智能提示,这让我们的工作轻松了很多.

    学过C语言的朋友都知道程序都有入口Main,WPF里默认会自动生成一个,所在目录为 obj\Debug\App.g.cs,但是你想要自己定义一个函数入口,比如需要定义参数,或是在主窗体启动前先弹出登入对话框的话,那就需要自己写一个.

     

    public class HelloWorld : Window
    {

        [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)

     

     image (图1-9)

     

    image (图1-10)

     

     

    点击Debugimage 按钮或是F5就可以运行程序了.不过是不是感觉太空空了呢.见图(1-11)

     

    image  (图 1-11)

     

     

    那让我们填充一些东西上去吧.

     

    public HelloWorld() 



        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 的代码封装,如同:

     

    TextBlock text = new TextBlock(); 

    text.Text 
    = "I'm a button"

    button.Content 
    = text; 

     

    同理Window 也有这么个Content的容器,我们才能如此舒舒服服的把Button控件放进去。

    运行结果如(图1-12)所示

     

    image (图1-12)

  • 相关阅读:
    Security headers quick reference Learn more about headers that can keep your site safe and quickly look up the most important details.
    Missing dollar riddle
    Where Did the Other Dollar Go, Jeff?
    proteus 与 keil 联调
    cisco router nat
    router dhcp and dns listen
    配置802.1x在交换机的端口验证设置
    ASAv931安装&初始化及ASDM管理
    S5700与Cisco ACS做802.1x认证
    playwright
  • 原文地址:https://www.cnblogs.com/Curry/p/1322642.html
Copyright © 2011-2022 走看看