无废话WPF系列4: x名称空间
2011-02-19 16:37 敏捷的水 阅读(2939) 评论(4) 编辑 收藏 举报xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
这个命名空间存放的就是XAML和XAML编译器沟通的东西,比如编译时与那个C#代码合并等
一、 在XAML中出现的方式有三种
1.标签扩展: x:Array, x:Null, x:Static, x:Type
2. XAML指令元素: x:Code, x:XData
3. Attribute: x:Class, x:ClassModifier, x:FieldModifier, x:Key, x:Name, x: Shared, X:Subclass, x:TypeArguments, x:Uid.
二、详解
x:Class:告诉XAML编译器将XAML标签的编译结果与后台制定的类合并,这个类必须使用partial关键字。
x:ClassModifier:告诉生成的类的访问级别,标签必须具有x:Class Attribute.
x:Name: XAML标签对应着一个对象。告诉XAML编译器为这个标签生成对应实例外还要为这个实例声明一个引用变量,变量名是x:Name的值,把
XAML标签对应对象的Name属性也设为x:Name的值,并把这个值注册到UI树上,方便查找。
x:FieldModifier: 是用来改变引用变量访问级别的,很显然,需要和x:Name同时使用。
x:Key: 把东西存放到资源字典Resource Dictionary里的Key,检索时用这个Key
x:Shared: 是否检索对象时使用同一个还是副本,比如前所资源字典里的内容。
x:Null: 清除一些设置,比如全局style设置的Button样式,某个Button不想用,可以使用Style=”{x:Null}”.
x:Array:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <Window x:Class= "DeepXAML.MainWindow" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local= "clr-namespace:DeepXAML" xmlns:sys= "clr-namespace:System;assembly=mscorlib" Title= "MainWindow" Height= "350" Width= "525" > <Grid> <ListBox Margin= "5" > <ListBox.ItemsSource> <x:Array Type= "sys:String" > <sys:String>Jack</sys:String> <sys:String>Justin</sys:String> <sys:String>David</sys:String> </x:Array> </ListBox.ItemsSource> </ListBox> </Grid> </Window> |

x:Static: 在XAML中使用数据类型的静态成员。
1 2 3 4 5 6 7 8 | public partial class MainWindow : Window { public static string Description = "Hello World" ; public MainWindow() { InitializeComponent(); } } |
1 2 3 4 5 6 7 8 9 10 11 | <Window x:Class= "DeepXAML.MainWindow" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local= "clr-namespace:DeepXAML" Title= "MainWindow" Height= "350" Width= "525" > <Grid> <StackPanel> <TextBlock FontSize= "20" Text= "{x:Static local:MainWindow.Description}" ></TextBlock> </StackPanel> </Grid> </Window> |
扫码关注公众号,了解更多管理,见识,育儿等内容

出处:http://www.cnblogs.com/cnblogsfans
版权:本文版权归作者所有,转载需经作者同意。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)