c#学习之30分钟学会XAML

2019-12-30 14:51:56王旭

xmlns=http://www.easck.com/winfx/2006/xaml/presentation——另一个命名空间。映射诸多wpf.net命名空间(system.windows.xxx,是个一对多的映射,主要封装了三个程序集中,WindowsBase.dll、Presentation.dll和PresentationFramework.dll)

2.1 启动
程序启动的地方,其实是在程序的App.xaml文件里面:


 <Application x:Class='MyXaml.App'
  xmlns='http://www.easck.com/winfx/2006/xaml/presentation'
  xmlns:x='http://www.easck.com/winfx/2006/xaml'
  StartupUri='Window1.xaml'>
  <Application.Resources>
   
  </Application.Resources>
 </Application>

看下面这句:

StartupUri='Window1.xaml'
这个就是程序的入口点,运行程序之后,我们就将window1显示在了显示屏上。

3.XAML语法概述
上述xaml中,显示的一个核心布局就是以下这些代码:


 <Grid>
   <Grid.RowDefinitions>
   <RowDefinition Height='30'/>
   <RowDefinition Height='30'/>
   <RowDefinition Height='30'/>
   </Grid.RowDefinitions>
   <Grid.ColumnDefinitions>
   <ColumnDefinition Width='Auto'/>
   <ColumnDefinition Width='*'/>
   </Grid.ColumnDefinitions>
   <TextBlock Grid.Column='0' Grid.Row='0' FontWeight='Bold' Text='姓名:' Width='30'/>
   <TextBlock Grid.Column='0' Grid.Row='1' FontWeight='Bold' Width='30'>性别:</TextBlock>
   <TextBlock Grid.Column='0' Grid.Row='2' FontWeight='Bold' Width='30' Text='年龄'></TextBlock>
   <TextBox Grid.Column='1' Grid.Row='0' FontWeight='Bold' Width='100' />
   <TextBox Grid.Column='1' Grid.Row='1' FontWeight='Bold' Width='100'/>
   <TextBox Grid.Column='1' Grid.Row='2' FontWeight='Bold' Width='100'/>
  </Grid>

1、看Grid控件,这个在wpf中是一个布局控件,就跟将窗体设置单元格差不过,可以依据它的row和column属性来设置行和列。上述设置了一个三行两列的布局。

2、看TextBlock和TextBox控件,这些都是一些显示控件,一个显示条和一个文本框,wpf中除此之外,还有许多的控件。

首先需要再确认的一点,那就是在C#中一切皆对象。如此一来,也就好理解了。

在XAML中的这些形形色色的控件其实就是一个个的类,我们应用了他们就相当于是应用了一个个的对象,而他们之中定义的一些width、height等属性,就是这些类中封装的一些属性字段。

当然,像上面TextBox和TextBlock中的Grid.Column='1' Grid.Row='2'等属性,其实并不属于这两个类中的属性和字段。