码迷,mamicode.com
首页 > 其他好文 > 详细

2. XAML

时间:2015-11-23 23:37:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

1. 什么是 XAML

  XAML 可以说是 XML 的一个特殊子集,使用相同的语法,只是 XML 可以自定义任何的节点和属性,但 XAML 是有所限制的,只能在规定的命名空间下使用。

2. namespace

  XAML 所受的限制即 namespace。

x:Class="WhatIsXAML.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:WhatIsXAML"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"

  XAML 的命名空间其实和 C# 里的命名空间差不多,都是为了做限定。而 http://schemas.microsoft.com/winfx/2006/xaml/presentation 这种类似网址的命名空间其实并不能跳转,只是一个单纯字符串,没有太多的意义。目前在此不对这做太多介绍,只要知道一般情况下不要更改默认的命名空间即可。

3. 默认属性、复杂属性

  默认属性即控件中不需声明即可解析的属性,如 Button 中的 Content,TextBlock 中的 Text:

<Button Content="Click Me"/>
<Button>Click Me</Button>

<TextBlock Text="123"/>
<TextBlock>123</TextBlock>

  复杂属性是指在 XAML 中可简单以字符串声明但其实在 C# 中却要声明对象复杂实现的属性,如 Margin,HorizontalAlignment 等:

<Button Name="clickMeButton"
             Height="150" Width="200"
             Background="Red"
             Margin="20,20,0,0"
             HorizontalAlignment="Left" VerticalAlignment="Top"
             Content="Click Me!"/>
Button myButton = new Button();
myButton.Height = 150;
myButton.Width = 200;
myButton.Margin = new Thickness(20, 20, 0, 0);
myButton.Background = new SolidColorBrush(Colors.Red);
myButton.Content = "Click Me!";
myButton.HorizontalAlignment = HorizontalAlignment.Left;
myButton.VerticalAlignment = VerticalAlignment.Top;

4. TypeConverter

  复杂属性的实现其实靠的是 TypeConverter。

5. 注释

  XAML 利用 <!-- --> 注释:

<!--
<Button Name="clickMeButton"
        Height="150" Width="200"
        Background="Red"
        Margin="20,20,0,0"
        HorizontalAlignment="Left" VerticalAlignment="Top"
        Content="Click Me!"
        Click="clickMeButton_Click"/>
-->

原视频链接:

2. XAML

标签:

原文地址:http://www.cnblogs.com/xiaoshi3003/p/4989941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!