WPF学习笔记4: Xaml之Code Behind

本文介绍了XAML中的内联代码(CodeBehind)概念及其语法,通过示例展示了如何使用C#编写内联代码来响应按钮点击事件。同时,文章强调了内联代码的局限性和可能带来的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Code Behind:顾名思义,就是在Xaml文档中嵌入代码。

注:因为不推荐此种用法,所以主要内容直接转于MSDN。个人建议有个印象即可:

----------------------------------------------------------------------------------------------------------
语法:x:Code
<x:Code>
  
<![CDATA[
代码..
  ]]
>
</x:Code>

x:Code 是在 XAML 中定义的一种指令元素。x:Code 指令元素可以包含内联编程代码。内联定义的代码可以与同一页中的 XAML 进行交互。下面的示例阐释了内联 C# 代码。请注意,该代码位于 x:Code 元素内,并且必须包围在 内,以便针对 XML 对内容进行转义,这样 XAML 处理器(解释 XAML 架构或 WPF 架构时)不会试图按原义将内容解释为 XML。
<Page
  xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class
="MyNamespace.MyCanvasCodeInline"
>
  
<Button Name="button1" Click="Clicked">Click Me!</Button>
  
<x:Code><![CDATA[
    
void Clicked(object sender, RoutedEventArgs e)
    
{
        button1.Content 
= "Hello World";
    }

  ]]
></x:Code>
</Page>

---------------------------------------------------------------------------------------------------------------------------------------
内联代码限制应
注意对基于 XAML 的应用程序避免或限制使用内联代码。
1. 在体系结构和编码原理方面,保留标记和代码隐藏之间的独立性可以更显著地区分设计人员和开发人员这两个角色。
2. 从更为技术性的角度看,为内联代码编写的代码更难编写,因为您总是要写入 XAML 页的生成的分部类中,并且只能使用默认的命名空间映射。
3. 因为不能添加 using 语句,因此必须完全限定您所进行的大量 API 调用。默认的 WPF 映射包括在 WPF 程序集中出现的大多数但并非全部的 CLR 命名空间;您必须完全限定对其他命名空间中包含的 API 的调用。
4. 此外,您还不能在内联代码中定义多个类,并且所有代码实体必须作为生成的分部类中的一个成员或变量存在。其他特定于语言的编程功能(例如宏或对全局变量或生成变量的 #ifdef)也不可用。

转载于:https://www.cnblogs.com/jacksonyin/archive/2008/02/27/1083175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值