黑马程序员技术交流社区

标题: WPF中 XAML和代码区的不同处 [打印本页]

作者: 陈行    时间: 2013-5-4 16:40
标题: WPF中 XAML和代码区的不同处
  1. <Grid Name="gr"></Grid>  <!--这里为一个grid布局-->写在XAML中
  2. Grid gr = new Grid();//这个在代码区实例的对象  
  3. 用起来编译运行都不报错
  4.   
复制代码
但是在XAML实例的才有用  在代码区实例的没用   
也就是说我在代码区实例化 然后对这个对象进行写代码  全都等于白写  为什么啊?
作者: 罗新华    时间: 2013-5-4 20:50
XAML是基于XML的,它继承了XML所有的定义和规则。所以与C#代码完全是两回事。
但是与XML不同的是每个XAML元素都是一个.NET CLR类。
还有,你在后台不能实例化XAML元素
可能是你没有命名空间,在XAML文件中包含这个
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  //xmln 是XML的名字空间
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
XAML会被编译为BAML(Binary Application Markup Language)文件。通常,BANL文件比XAML更小,编译后的BAML都是Pre-tokenized的,这样在运行时能更快速地加载与分析XAML。这些BAML文件被以资源的形式嵌入到Assembly当中。同时生成相应的代码(文件名称是**.g.cs或者**.g.vb),这些代码根据XAML元素分别生成命名的Attribute字段,以及加载BAML的构造函数。

作者: 陈行    时间: 2013-5-4 22:50
罗新华 发表于 2013-5-4 20:50
XAML是基于XML的,它继承了XML所有的定义和规则。所以与C#代码完全是两回事。
但是与XML不同的是每个XAML元 ...

看来这是个难点啊  !!~  你说的命名空间还是有的  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2