WPF: x名称空间

摘要:
Uid。二、解释x:变量名为x:Keyx:Shared:Null:Array:Class=“DeepXAML。MainWindow”02 xmlns用于检索=“http://schemas.microsoft.com/winfx/2006/xaml/presentation“03 xmlns:x=”http://DeepXAML“05 xmlns:x:”

这个命名空间存放的就是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:

01<Window x:Class="DeepXAML.MainWindow"
04        xmlns:local="clr-namespace:DeepXAML"
05        xmlns:sys="clr-namespace:System;assembly=mscorlib"
06        Title="MainWindow"Height="350"Width="525">
07    <Grid>
08        <ListBox Margin="5">
09            <ListBox.ItemsSource>
10                <x:Array Type="sys:String">
11                    <sys:String>Jack</sys:String>
12                    <sys:String>Justin</sys:String>
13                    <sys:String>David</sys:String>
14                </x:Array>
15            </ListBox.ItemsSource>
16        </ListBox>
17    </Grid>
18</Window>
image

x:Static: 在XAML中使用数据类型的静态成员。

1publicpartialclassMainWindow : Window
2{
3    publicstaticstringDescription = "Hello World";
4    publicMainWindow()
5    {
6        InitializeComponent();
7    }        
8}
01<Window x:Class="DeepXAML.MainWindow"
04        xmlns:local="clr-namespace:DeepXAML"       
05        Title="MainWindow"Height="350"Width="525">
06    <Grid>
07        <StackPanel>
08            <TextBlock FontSize="20"  Text="{x:Static local:MainWindow.Description}"  ></TextBlock>
09        </StackPanel>
10    </Grid>
11</Window>

image

免责声明:文章转载自《WPF: x名称空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇初识 QML 和 Qt QuickFiddler抓包7-post请求(json)【转载】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

android自动打包方法(ant+proguard+签名)

前段时间做了一个android的网游项目,现在优化减少体积和防止别人反编译,需要把编译后.class进行混淆,开始在网上看了一些关于 ProGuard的介绍,基本上都是使用ADT自带的打包方式,那个打包方式太慢了,还要手工输密码,一个字烦。 于是开始寻找ant+proguard+签名的打包方式,遗憾的是资料不是缺手就是断脚。 好吧,看来得食自己了,!@#...

Elasticsearch集群运维

一、索引管理 1、 创建索引 PUT test-2019-03 {          "settings": {                    "index": {                             "number_of_shards": 10,                             "number_of_r...

Xamarin.Forms学习系列之Syncfusion 制作图形报表

Syncfusion是一家微软生态下的第三方组件/控件供应商,除了用于HTML5和JavaScript的控件外,他们产品还涉及如下领域: WEB ASP.NET MVC ASP.NET WebForms HTML5/JavaScript LightSwitch Silverlight MOBILE iOS Android Windows Phone...

阿里druid数据源配置及数据库密码加密

注意: 1、阿里默认只对用户密码解密 2、druid 1.0.16版本及以上的解密时需要同时配置publicKey 一.生成密文密码 1 前提:已经配置了jdk环境 1、生成密文密码需要准备druid的jar包.然后通过命令行生成,如下步骤: 1.1准备jar包 1、(示例使用 druid-0.2.23.jar),放到某目录下,且打开命令窗口(win用户可...

OA日志模块

最近两天做了工作日志模块,虽然最后通知因时间紧急,此模块取消,但已具雏形,在此记录一下。 1.查询显示登录用户所有日志 Code<%@ page language="java" pageEncoding="gb2312"%><%@ taglib uri="http://jakarta.apache.org/struts/tags-be...

Quartz.NET文档 入门教程

概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业...