zoukankan      html  css  js  c++  java
  • 关于WPF中的XAML

    XAML全称extensible application markup language(可扩展性标记语言)

    可扩展应用程序标记语言(XAML)是一种声明性语言。概括来说,就是为应用程序构建UI。目前WPF,UWP应用程序都是使用XAML语言来构建UI.

    1、XAML命名空间(xmlns)

    如  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    这里的值是一个url,但其实这里并不指向这个链接。它只是用来标识在不同文档之间的唯一性。

    这个命名空间实际上映射的是wpf的命名空间

    System.Windows,System.Windows.Controls,System.Windows.Media.Media3D等等

    它实际的定义如下

    1 [assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows")]

    这段代码定义在AssemblyInfo.cs中

    2、创建对象

     1  public class Student
     2     {
     3         public int ID { get; set; }
     4 
     5         public string StudentName { get; set; }
     6 
     7         public School School { get; set; }
     8     }
     9 
    10     public class School
    11     {
    12         public string SchoolName { get; set; }
    13     }

    有上述类

    在C#中创建

    1 var student = new Student();

    在xaml中创建

    1 <Student />

    在调用这个类之前,我们还需要引入命名空间。

    说明:如果是不同的程序集,还需要指定程序集,如(xmlns:CEF="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf")

    1  xmlns:myclass="clr-namespace:MyNamespace"

    这样,完整的调用如下

    1 <myclass:Student />

    3、为属性赋值

    1  <myclass:Student ID="1" StudentName="ashely" />

    属性是对象的情况

    1 <myclass:Student ID="2" StudentName="ashely" x:Name="stu">
    2                     <myclass:Student.School>
    3                         <myclass:School SchoolName="renmxy"/>
    4                     </myclass:Student.School>
    5 </myclass:Student>

    4、为对象命名(x:Name或Name)

    1  <myclass:Student ID="2" StudentName="ashely" x:Name="stu"/>
    1 <Label x:Name="mylable">

    使用Name命名只能用于.Net 3.5及以后的版本

    x:Name是全版本通用

    命名后可以在后台代码中直接操作

    1             //Student
    2             stu.ID = 2;
    3 
    4             //Label
    5             mylable.Foreground = Brushes.Green;

     示例代码

  • 相关阅读:
    计算机网络基础知识整理
    计算机操作系统知识整理
    各类编程语言的主要用途
    计算机的基本组成知识整理
    对IT行业的看法和对软件工程的理解
    正规文法转换
    语法树评论
    c语言文法定义
    词法分析
    0909我对编译原理的见解
  • 原文地址:https://www.cnblogs.com/zhaotianff/p/11141749.html
Copyright © 2011-2022 走看看