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 = ;
myButton.Width = ;
myButton.Margin = new Thickness(, , , );
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的更多相关文章
- x:bind不支持样式文件 或 此Xaml文件必须又代码隐藏类才能使用{x:Bind} 解决办法
这两天学习UWP开发,发现一个很有趣的问题,就是我题目中的描述的. 我习惯了在ResourceDictionary中写样式文件,但是发现用x:Bind时会有问题 如果是写在Style里,则提示 “x: ...
- Xamarin+Prism开发详解二:Xaml文件如何简单绑定Resources资源文件内容
我们知道在UWP里面有Resources文件xxx.resx,在Android里面有String.Xml文件等.那跨平台如何统一这些类别不一的资源文件以及Xaml设计文件如何绑定这些资源?应用支持多国 ...
- Windows10-UWP中设备序列显示不同XAML的三种方式[3]
阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...
- 2000条你应知的WPF小姿势 基础篇<40-44 启动关闭,Xaml,逻辑树>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C# 和 2,0 ...
- 04.移动先行之谁主沉浮----XAML的探索
如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 移动先行之谁主沉浮? 带着你的Net飞奔吧! 链接======>(点) XMAL引入 XAML 类似于 HTML,是一种 ...
- 06.移动先行之谁主沉浮----我的代码我来写(Xaml的优势)
如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 前面几节课,我们都是在前台创建对象,进行一些设置,那么我们为什么不用传统的方法来编程呢? 我们今天来试试你就明了了~~ 打开M ...
- 30分钟学会XAML
1.狂妄的WPF 相对传统的Windows图形编程,需要做很多复杂的工作,引用许多不同的API.例如:WinForm(带控件表单).GDI+(2D图形).DirectX API(3D图形)以及流媒体和 ...
- 关于 WP 开发中.xaml 与.xaml.cs 的关系
今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...
- WPF入门:XAML
XAML是WPF技术中专门用于设计UI的语言 XAML优点最大的优点是将UI与逻辑代码剥离 创建第一个WPF应用程序 VS默认生成的WPF项目解决方案 Properties:里面主要包含了程序用到的一 ...
- [No0000AE]在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...
随机推荐
- android之location01
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <Linear ...
- Spring中的AOP应用
AOP被称为面向切面编程,AOP中的几个重要概念是: 1.切面.切面就是要实现的功能.切面通常是在多数方法中会用到的相同功能,如写日志. 2.连接点.连接点就是应用程序执行过程中插入切面的地点.如:方 ...
- DML(Oralce)
创建视图简化上面 视图就是一张表 一个子查询 虚表 视图通常以v$开头 grant create table,create view to scott; ...
- Android Eclipse 里面依赖工程无法关联源码解决方案
android开发中,debug调试是一种非常实用快速定位问题的办法.eclipse中多工程依赖状态下会偶现无法debug的困扰,debug中的代码执行时会报出如下错误 The JAR of thi ...
- nginx 添加perl
首先,要知道你原安装的nginx版本,以及原来安装的模块,用nginx -V即可 /usr/sbin/nginx -V 结尾处的--add-module 重新安装时这里可以去掉, 然后去官网下载一个相 ...
- php不使用copy()函数复制文件的方法
本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下:下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php funct ...
- SparkSQL External Datasource简易使用之CSV
下载源码&编译: git clone https://github.com/databricks/spark-csv.git sbt/sbt assembly Maven GAV: group ...
- oracle 表空间管理
1.创建表空间 03:01:55 sys@ORADB11G> create tablespace TSPITR datafile '/u01/app/oracle/oradata/TSPITR0 ...
- MSDN(电驴)
主站: http://msdn.itellyou.cn/ 辅站: http://msdn.ez58.net/
- JNI_Android项目中调用.so动态库实现详解【转】
转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...