WPF学习系列015: 2.8.2 编译 XAML

 

  •  
    1. XAML编译包括三项事情
      1. 将一个 XAML 文件转换为一种特殊的二进制格式
      2. 将转换好的内容作为二进制资源嵌入到正在被创建的程序集中
      3. 执行链接操作,将 XAML 和过程式代码自动连接起来
    1. 要编译 XAML 文件并将它与过程式代码混合,需要为 XAML 文件的根元素指定一个子类,可以用 XAML 语言命名空间中的 Class 关键字来完成。
    1. XAML 中的过程式代码
  • 2.8.2 编译 XAML

    例如:

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

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

    x:Class="MyNamespace.MyWindow">

    ......

    </Window>

    在一个独立的源文件中(但是在同一个项目中),可以定义一个子类,并添加任何想添加的成员。这个文件叫作代码隐藏文件。partial关键字很重要,因为类的实现是分布在多个文件中的。

    namespace MyNamespace

    {

    partial class MyWindow : Window

    {

    // 一定要调用,这样才能加载 XAML 定义的内容!

    InitializeComponent();

    ......

    }

    Any other members can go here...

    }

    使用 <x:Code><![CDATA[…]]></x:Code> 可以讲代码嵌入到 XAML文件中。当 XAML 编译时,x:Code 元素中的内容将被放到部分类的.g.cs 文件。

    例如:

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

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Button Click="button_Click">OK</Button>

    <x:Code><![CDATA[

    void button_Click(object sender, RoutedEventArgs e)

    {

    this.Close();

    }

    ]]></x:Code>

    </Window>

    由于代码隐藏文件的存在,采用这种方式在 XAML 文件中编写代码是不被推荐的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值