关于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等等
它实际的定义如下
[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的更多相关文章
- WPF中 PropertyPath XAML 语法
原文:WPF中 PropertyPath XAML 语法 PropertyPath 对象支持复杂的内联XAML语法用来设置各种各样的属性,这些属性把PropertyPath类型作为它们的值.这篇文章讨 ...
- 学习WPF——了解WPF中的XAML
XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如<Button>映射为WPF的Butt ...
- WPF中在XAML中实现数据类型转换的两种方法
熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又 ...
- WPF中资源引用方式汇总
在WPF应用程序开发中,总是难以记住各种访问资源的方法,遂逐一记下. 先从资源是否编译到程序集分类 一.程序集资源 资源在编译的时候嵌入到程序集中.WPF中的XAML会被编译为BAML,图片等其他资源 ...
- WPF中使用MVVM模式进行简单的数据绑定
计划慢慢整理自己在WPF学习和工作应用中的一些心得和想法,先从一个简单的用法说起 在WPF中,XAML标记语言中绑定数据,而数据源就是指定为ViewModel类,而非界面本身的逻辑代码类 这样一定程度 ...
- 【随记】WPF中xaml输入中文乱码问题解决
在Visual Studio中开发WPF应用程序时,在XMAL文档编写界面输入中文时变为乱码.可能的原因之一是VS中安装了VAssistX插件,导致编码冲突,使中文输入乱码.解决方法是在VAssist ...
- WPF中的Generic.xaml, theme以及custom control
原文:WPF中的Generic.xaml, theme以及custom control 在Visual Studio中创建自定义控件时,所有控件都将添加到/Themes/Generic.xaml. 最 ...
- wpf中xaml的类型转换器与标记扩展
原文:wpf中xaml的类型转换器与标记扩展 这篇来讲wpf控件属性的类型转换器 类型转换器 类型转换器在asp.net控件中已经有使用过了,由于wpf的界面是可以由xaml组成的,所以标签的便利也需 ...
- WPF中动态加载XAML中的控件
原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...
随机推荐
- 设置多个className
有时候我们需要有选择地设置多个className function myComponent(props) { const myClassName = { 'aaa', {'bbb': props.ne ...
- 测试Leader应该做哪些事
一.负责测试组的工作组织和管理 1.参加软件产品开发前的需求调研和分析: 2.根据需求,概要设计和开发计划编写项目总体测试计划,详细测试计划,测试大纲和测试文档结构表(测试计划 a.已上线产品维护以及 ...
- EasyEarth三维可视化解决方案——智慧林业
智慧林业 智能巡管监护 护林员信息查询 护林员管护范围查询 护林员报警.采集数据查看 样点.样线管理 其它功能模块 ●一键考勤打卡 ●面积测量 ●任务公告发布 ●实时电量监控 ●一键报警功能 ●北斗短 ...
- .Net Core EF 使用整理合集
1..NetCore中EFCore的使用整理 2..NetCore中EFCore的使用整理(二)-关联表查询 3.EF Core 1.0 和 SQLServer 2008 分页的问题 4.EF Cor ...
- oracle 19c jdbc之Reactive Streams Ingestion (RSI) Library
19c jdbc新特性 https://blogs.oracle.com/dev2dev/whats-new-in-193-and-183-jdbc-and-ucp jdbc实现直接路径加载 http ...
- centos7.6环境编译安装php-7.2.24修复最新 CVE-2019-11043 漏洞
先编译安装php-7.2.24,然后编译安装扩展 主版本地址地址:https://www.php.net/distributions/php-7.2.24.tar.gz # 编译 php-7.2.24 ...
- ThinkPHP5最新URL访问:PATH_INFO和兼容模式
https://www.jianshu.com/p/c43fb5817ae1 http://tp5.com/index.php?s=USER/manger_user/add&n=2000&am ...
- 【神经网络与深度学习】【计算机视觉】SSD
SSD 转自:https://zhuanlan.zhihu.com/p/24954433?refer=xiaoleimlnote 参考: SSD: Single Shot MultiBox Detec ...
- android基础---->Toast的使用
简要说明 Toast是一种没有交点,显示时间有限,不能与用户进行交互,用于显示提示信息的显示机制,我们可以把它叫做提示框.Toast不依赖 于Activity,也就是说,没有Activity,依然可以 ...
- KMP算法JS实现
参考阮一峰的<字符串匹配的KMP算法>,用JS实现一版,备忘~ // 主串 let str1 = 'BBC ABCDAB ABCDABCDABDEDC'; // 模式串 let str2 ...