WPF Hello World 之 WPF窗口创建的三种方法
2017-05-19 00:11
706 查看
写在前面:
以前一直是写Win form 程序做东西的,不过渐渐发现Win form做的界面效果不是很好。决定学习WPF,拓宽一下技术路线。视频原址:猎豹网校
第一章:WPF窗口创建
首先了解一下WPC程序的基本框架:
每个WPF程序都包括一个Application
类代表着一个WPF应用程序,其次包含多个Window类,作为这个程序拥有的多个窗口,其中有一个是主窗口
每一窗口都拥有若干个Control对象,声明过程为:1,声明一个私有Control对象(如Button)。2,在窗口的类的构造函数中调用的InitializeComponent函数里面初始化Control的属性。
在程序的Main函数里面声明一个Application类的,指定Application的主窗口,再调用Application.Run函数即可运行起一个WPF程序
是WPF窗口创建的三种方法
一、使用纯C#语言创建WPF窗口窗口
1. Application类声明、指定主窗口及运行
手动声明窗口类及控件初始化
最终效果
二、使用XAM L创建WPF窗口
第二种方法与第一种方法类似,只是从InitializeComponent函数利用C#代码初始化控件属性改为从.xmal文件中加载控件信息,并初始化控件。
1. 首先创建Window1.xmal文件内容如下:
2 窗口的构造函数
public partial class MainWindow : Window
{
private Button mybutton; //私有控件
最终效果
三、是有可视化界面进行窗口创建
可视化界面即是我们正常新建窗口,通过工具箱拖拽控件配合Xmal文件共同设计布局。可视化界面在正常开发中是最常见的一种方式,可以屏蔽掉底层机制,直接进行快速开发。
最后:
通过对WPF的三种创建窗口的方式的学习,是我初步的了解了WPF运行运行机制,以及它和Winform的一些区别与共同之处。接下来就是熟悉WPF控件的使用,熟悉Xmal文档的使用。
以前一直是写Win form 程序做东西的,不过渐渐发现Win form做的界面效果不是很好。决定学习WPF,拓宽一下技术路线。视频原址:猎豹网校
第一章:WPF窗口创建
首先了解一下WPC程序的基本框架:
每个WPF程序都包括一个Application
类代表着一个WPF应用程序,其次包含多个Window类,作为这个程序拥有的多个窗口,其中有一个是主窗口
每一窗口都拥有若干个Control对象,声明过程为:1,声明一个私有Control对象(如Button)。2,在窗口的类的构造函数中调用的InitializeComponent函数里面初始化Control的属性。
在程序的Main函数里面声明一个Application类的,指定Application的主窗口,再调用Application.Run函数即可运行起一个WPF程序
是WPF窗口创建的三种方法
一、使用纯C#语言创建WPF窗口窗口
1. Application类声明、指定主窗口及运行
class Program : Application { [STAThread()] static void Main() { Program app = new Program(); app.MainWindow = new Window1(); app.MainWindow.ShowDialog(); } }
手动声明窗口类及控件初始化
class Window1 : Window { private Button button1; //声明私有控件 public Window1() //构造函数 { InitializeComponent(); } private void InitializeComponent() //控件属性初始化 { //设置窗体参数 this.Width = 600; this.Height = 400; this.Left = this.Top = 100; this.Title = "Code-only Window"; //创建面板对象 DockPanel panel = new DockPanel(); //创建面板对象 button1 = new Button(); button1.Content = "Please click me"; button1.Margin = new Thickness(100,100,100,100); button1.Click +=button1_Click; //委托,指定点击事件发生的回调函数 IAddChild container = panel; container.AddChild(button1); container = this; container.AddChild(panel); } private void button1_Click(object sender, RoutedEventArgs e) //控件的响应函数 { button1.Content = "Thank you~"; } }
最终效果
二、使用XAM L创建WPF窗口
第二种方法与第一种方法类似,只是从InitializeComponent函数利用C#代码初始化控件属性改为从.xmal文件中加载控件信息,并初始化控件。
1. 首先创建Window1.xmal文件内容如下:
2 窗口的构造函数
public partial class MainWindow : Window
{
private Button mybutton; //私有控件
public MainWindow() { InitializeComponent(); } public MainWindow(string xmalFile) { //设置窗体参数 this.Width = 600; this.Height = 400; this.Left = this.Top = 100; this.Title = "Dynamically Loaded XMAL Window"; //从一个XMAL文件类获取XMAL内容 DependencyObject root = new DependencyObject(); using (FileStream fs = new FileStream(xmalFile, FileMode.Open)) { root = (DependencyObject)XamlReader.Load(fs); } this.Content = root; //从XMAL内容里面搜索button1 属性信息并赋值给mybutton mybutton =(Button)LogicalTreeHelper.FindLogicalNode(root,"button1"); mybutton.Click += mybutton_Click; } private void mybutton_Click(object sender, RoutedEventArgs e)) { mybutton.Content = "Thank you."; } }
最终效果
三、是有可视化界面进行窗口创建
可视化界面即是我们正常新建窗口,通过工具箱拖拽控件配合Xmal文件共同设计布局。可视化界面在正常开发中是最常见的一种方式,可以屏蔽掉底层机制,直接进行快速开发。
最后:
通过对WPF的三种创建窗口的方式的学习,是我初步的了解了WPF运行运行机制,以及它和Winform的一些区别与共同之处。接下来就是熟悉WPF控件的使用,熟悉Xmal文档的使用。
相关文章推荐
- 创建 WPF 不规则窗口 方法之一
- 创建 WPF 不规则窗口 方法之二
- 多线程创建 方法一: NSThread 创建线程的三种方式
- ubuntu/linux mint 创建proc文件的三种方法(两)
- 翻译:创建 Windows8 应用 Part I: Hello, world!
- 使用java时创建数组的三种常用的方法
- 【java高级特性之反射】创建Class对象的三种方法
- 多线程委托之跨线程问题分析--在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke(解决方法已更新)
- Java创建线程的三种方法比较
- struts2 lesson one: 的action特征,三种创建方法,action接收表单数据的三种访问,读取方式
- 创建"Hello World"图形用户界面
- 创建Connection对象的三种方法
- maven 创建spring hello world工程
- robotium中创建testcase的三种方法
- 创建Graphics对象的三种方法(转)
- c#创建Graphics对象的三种方法
- 创建IXMLDOMDocument对象的三种方法
- 创建一个带默认构造方法(即无参构造)的类,在构造方法中打印一条消息"Hello Constructor";再为这个类添加一个重载构造方法,令其接收一个字符串参数,并在这个有参构造方法中把"Hello
- ABAP中创建动态内表的三种方法(转载)
- libevent代码阅读(8)——“hello-world.c”之 创建监听器