博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无废话WPF系列4: x名称空间
阅读量:6002 次
发布时间:2019-06-20

本文共 1999 字,大约阅读时间需要 6 分钟。

这个命名空间存放的就是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/archive/2011/02/19/1958578.html如需转载请自行联系原作者

王德水

你可能感兴趣的文章
THINKPHP 结合阿里大于发送短信
查看>>
网站故障排查常用命令
查看>>
Python setdaemon守护进程
查看>>
ubuntu10.04下安装LAMP
查看>>
sendmail+tls+java
查看>>
wget 用法
查看>>
改善 ASP.NET MVC 代码库的 5 点建议
查看>>
Git配置以及命令总结
查看>>
cacti基础配置,附带软件包
查看>>
Centos 7 Saltstack自动化部署weblogic 12c
查看>>
ORACLE学习笔记--SQL查询语句
查看>>
自学sql之路,SQL 是用于访问和处理数据库的标准的计算机语言!
查看>>
Nginx基本配置
查看>>
[Windows Azure] How to use the Windows Azure Blob Storage Service in .NET
查看>>
LNAMP第二版(nginx 1.2.0+apache 2.4.2+php 5.4)
查看>>
MongoDB repl set权限认证配置步骤
查看>>
java学习笔记(1)
查看>>
jQuery 如何获取何设置 redio标签的值
查看>>
禁止Mysql默认端口访问Internet - MySQL - IT技术网
查看>>
java高并发设计(十五)-- netty通信之全部
查看>>