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等等

它实际的定义如下

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

这段代码定义在AssemblyInfo.cs中

2、创建对象

  public class Student
{
public int ID { get; set; } public string StudentName { get; set; } public School School { get; set; }
} public class School
{
public string SchoolName { get; set; }
}

有上述类

在C#中创建

 var student = new Student();

在xaml中创建

 <Student />

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

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

  xmlns:myclass="clr-namespace:MyNamespace"

这样,完整的调用如下

 <myclass:Student />

3、为属性赋值

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

属性是对象的情况

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

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

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

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

x:Name是全版本通用

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

             //Student
stu.ID = ; //Label
mylable.Foreground = Brushes.Green;

示例代码

关于WPF中的XAML的更多相关文章

  1. WPF中 PropertyPath XAML 语法

    原文:WPF中 PropertyPath XAML 语法 PropertyPath 对象支持复杂的内联XAML语法用来设置各种各样的属性,这些属性把PropertyPath类型作为它们的值.这篇文章讨 ...

  2. 学习WPF——了解WPF中的XAML

    XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如<Button>映射为WPF的Butt ...

  3. WPF中在XAML中实现数据类型转换的两种方法

    熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又 ...

  4. WPF中资源引用方式汇总

    在WPF应用程序开发中,总是难以记住各种访问资源的方法,遂逐一记下. 先从资源是否编译到程序集分类 一.程序集资源 资源在编译的时候嵌入到程序集中.WPF中的XAML会被编译为BAML,图片等其他资源 ...

  5. WPF中使用MVVM模式进行简单的数据绑定

    计划慢慢整理自己在WPF学习和工作应用中的一些心得和想法,先从一个简单的用法说起 在WPF中,XAML标记语言中绑定数据,而数据源就是指定为ViewModel类,而非界面本身的逻辑代码类 这样一定程度 ...

  6. 【随记】WPF中xaml输入中文乱码问题解决

    在Visual Studio中开发WPF应用程序时,在XMAL文档编写界面输入中文时变为乱码.可能的原因之一是VS中安装了VAssistX插件,导致编码冲突,使中文输入乱码.解决方法是在VAssist ...

  7. WPF中的Generic.xaml, theme以及custom control

    原文:WPF中的Generic.xaml, theme以及custom control 在Visual Studio中创建自定义控件时,所有控件都将添加到/Themes/Generic.xaml. 最 ...

  8. wpf中xaml的类型转换器与标记扩展

    原文:wpf中xaml的类型转换器与标记扩展 这篇来讲wpf控件属性的类型转换器 类型转换器 类型转换器在asp.net控件中已经有使用过了,由于wpf的界面是可以由xaml组成的,所以标签的便利也需 ...

  9. WPF中动态加载XAML中的控件

    原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...

随机推荐

  1. 计蒜客——Goldbach

    Goldbach 判断大素数 #include<cstdio> #include<cstdlib> using namespace std; #define N 10000 t ...

  2. 第12组 Alpha事后诸葛亮

    Header 组长博客 Postmortem 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的是喜欢记录分享旅游生活的人群的行迹记录和分享问题, ...

  3. AOP的定义和原理

    一.本课目标 理解Spring AOP的原理 掌握Spring AOP的七个术语 二.面向切面编程(AOP)  AOP的思想是,不去动原来的代码,而是基于原来代码产生代理对象,通过代理的方法,去包装原 ...

  4. Activiti6 应用安装 activiti-admin,activiti-app,activiti-rest

    activiti6安装包中 1/直接将三个war包放入tomcat中,即可运行,使用H2内存数据库 2/使用mysql数据库运行 2.1/activiti-admin # security confi ...

  5. jQuery.validator.addMethod自定义验证方法

    在开发中用到了jQuery的validate控件,有时需要自定义验证方法.我们可以通过jQuery.validator.addMethod()来实现,下面是例子: <!DOCTYPE html ...

  6. [报错处理]Python Requests - No connection adapters

    出错信息很清楚:Python请求 - 没有连接适配器. 你得把网络协议加进入网址: http://192.168.1.61:8080/api/call 没有 http:// 请求不知道如何连接远程. ...

  7. [LeetCode] 489. Robot Room Cleaner 扫地机器人

    Given a robot cleaner in a room modeled as a grid. Each cell in the grid can be empty or blocked. Th ...

  8. vue-cli3 每次打包都改变css img js文件名,还有自带版本号

    let Version = new Date().getTime(); css: { // 是否使用css分离插件 ExtractTextPlugin extract: { //一种方式,打包后的cs ...

  9. 如何确定垃圾?JVM GC ?

    如何确定垃圾? 正文 如何确定垃圾? 前面已经提到 JVM 可以采用 引用计数法 与 可达性分析算法 来确定需要回收的垃圾,我们来具体看一下这两种算法: 引用计数法 该方法实现为:给每个对象添加一个引 ...

  10. (转)深入浅出Redis-redis哨兵集群

    背景:对于后台开发,需要了解与集群相关的工作. 深入浅出Redis-redis哨兵集群 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentin ...