zoukankan      html  css  js  c++  java
  • 2. XAML

    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"/>
    -->

    原视频链接:

  • 相关阅读:
    HDU 5883 欧拉回路
    HDU 5889 Barricade (Dijkstra+Dinic)
    网络流Dinic算法模板 POJ1273
    216. Combination Sum III
    211. Add and Search Word
    973. K Closest Points to Origin
    932. Beautiful Array
    903. Valid Permutations for DI Sequence
    514. Freedom Trail
    312. Burst Balloons
  • 原文地址:https://www.cnblogs.com/xiaoshi3003/p/4989941.html
Copyright © 2011-2022 走看看