WPF入门(一):简单的演示
2015-08-14 10:19
141 查看
最近一直很忙,接近年底,终于有点时间学习点新东西了。于是开始我的wpf之旅。 cheapter 1...
本文适合熟悉.net开发的程序员,对winform开发有一定了解。
先开始编码吧,理论的东西慢慢积累。先弄个能跑起来的东西来看看。
一 ,标准方式
打开vs,新建一个wpf应用程序。如下图:
查看引用列表:
PresentationCore
PresentationFramework
WindowsBase
这几个是没见过的,从字面意思看,是核心,框架和窗体基本库。
文件列表:
App.xaml 描述了application对象
Windows1.xaml描述了一个 窗体对象
哈。很熟悉吧,还记得winform下常见的一条语句么?
Application.Run(New Form1());
基本上还是如此吧。构建一个Application 管理对象和一个主窗体。只是,这里是用xaml语言描述的方式而已。
按F5运行。简单的窗体就起来了。
下面我们换一种方式实现
二,自定义方式
打开vs,引用 PresentationCore , PresentationFramework, WindowsBase 这三个dll
新建个class, Program.cs,添加个main方法(程序入口点)。如下:
class Program
{
[STAThread]
static void Main()
{
Application app = new Application();
app.Run(new Window());
}
}
按F5运行。是不是效果和上面的一样呢。
看起来,xaml语言描述了程序中个组件(对象)。这样使得我们的编码可以用xaml来描述。配合对应的解析器,将xaml描述的对象创建出来,并通过呈现器展示出来。这样带来的好处是显而易见的,标准的描述方式,可变动的解析器和呈现器,使得可以针对不同的运行平台(web,windows,移动设备)等可以针对性的实现不同的解析和呈现器。而各平台和现实屏幕尺寸差距等,真的能做到无缝跨平台么?不过这带来的是新的开发方式呢,使得各个平台的开发方式不至于差别那么大,类似windows开发平台的程序员可以很容易的快速过度到移动平台开发吧。
-----
最后附上代码 下载
本文适合熟悉.net开发的程序员,对winform开发有一定了解。
先开始编码吧,理论的东西慢慢积累。先弄个能跑起来的东西来看看。
一 ,标准方式
打开vs,新建一个wpf应用程序。如下图:
查看引用列表:
PresentationCore
PresentationFramework
WindowsBase
这几个是没见过的,从字面意思看,是核心,框架和窗体基本库。
文件列表:
App.xaml 描述了application对象
Windows1.xaml描述了一个 窗体对象
哈。很熟悉吧,还记得winform下常见的一条语句么?
Application.Run(New Form1());
基本上还是如此吧。构建一个Application 管理对象和一个主窗体。只是,这里是用xaml语言描述的方式而已。
按F5运行。简单的窗体就起来了。
下面我们换一种方式实现
二,自定义方式
打开vs,引用 PresentationCore , PresentationFramework, WindowsBase 这三个dll
新建个class, Program.cs,添加个main方法(程序入口点)。如下:
class Program
{
[STAThread]
static void Main()
{
Application app = new Application();
app.Run(new Window());
}
}
按F5运行。是不是效果和上面的一样呢。
看起来,xaml语言描述了程序中个组件(对象)。这样使得我们的编码可以用xaml来描述。配合对应的解析器,将xaml描述的对象创建出来,并通过呈现器展示出来。这样带来的好处是显而易见的,标准的描述方式,可变动的解析器和呈现器,使得可以针对不同的运行平台(web,windows,移动设备)等可以针对性的实现不同的解析和呈现器。而各平台和现实屏幕尺寸差距等,真的能做到无缝跨平台么?不过这带来的是新的开发方式呢,使得各个平台的开发方式不至于差别那么大,类似windows开发平台的程序员可以很容易的快速过度到移动平台开发吧。
-----
最后附上代码 下载
相关文章推荐
- WPF入门(二):初遇RoutedEvent
- WPF入门(三):简单绑定 - 绑定到页面元素
- excel表格添加文字太长了,需要换行?
- TextView的纵向排列
- android 使用SharedPreferences保存list数据
- Linux 网络编程—— libnet
- oracle ORA-01002: fetch out of sequence tips 违反提取顺序
- svn迁移
- 高斯滤波核计算 C版
- 欢迎使用CSDN-markdown编辑器
- 【转】c语言位域操作—_结构体内冒号:的使用
- 海水淡化膜:反渗透预处理对于海水淡化技术必要性
- Safari实用技巧-保存主页为PDF文件
- Android性能优化典范 - 第3季
- HDU 1247 Hat’s Words(字典树简单应用)
- JToggleButton的重构状态以及ButtonGroup的使用
- Linux环境Nginx安装多版本PHP
- hive 安装配置
- Android开发大全
- excel表格vlookup函数