x:Name与x:Key
XAML的标签声明的是对象,一个XAML标签会对应着一个对象,这个对象一般是一个控件类的实例。
x:Name的作用有两个:
(1)告诉XAML编译器,当一个标签带有x:Name时,除了为这个标签生成对应实例外,还要为这个实例声明一个引用变量,变量名就是x:Name的值。
(2)将XAML标签所对应对象的Name属性(如果有)也设为x:Name的值,并把这个值注册到UI树上,以方便查找。
Name属性定义在FrameworkElement类中,这个类是WPF控件的基类,所以所有WPF控件都具有Name这个属性。当一个元素具有Name属性时,使用Name或x:Name效果是一样的。Name和x:Name是可以互换的,只是不能同时出现在一个元素中。因为x:Name的功能涵盖了Name属性的功能,所以全部使用x:Name以增强代码的统一性和可读性。
x:Key的作用是为资源贴上用于检索的索引。
在WPF中,几乎每个元素都有自己的Resources属性,这个属性是个“Key-Value”式的集合,只要把元素放进这个集合,这个元素就成为资源字典中的一个条目,当然,为了能够检索到这个条件,就必须为它添加x:Key。
<Window .......>
<Window.Resources><sys:String x:Key="myString">Hello WPF Resource!</sys:String></Window.Resources>
<StackPanel><TextBox Text="{StaticResource ResourceKey=myString}"/></StackPanel>
</Window >
区别:
x:Key用在XAML Resources,ResourceDictionary需要key来访问。
x:Name用在ResourceDictionary以外任何地方,可以使用x:Name在code-behind访问对象。
x:Key唯一地标识作为资源创建和引用且存在于 ResourceDictionary 中的元素。
x:Name 唯一标识对象元素,以便于从代码隐藏或通用代码中访问实例化的元素。
x:key和x:name的区别,前者是为XAML中定义的资源文件提供唯一的标识,后者是为XAML中定义的控件元素提供唯一标识。
x:Name与x:Key相关推荐
- MySQL这一章就够了(一)
前言:呕心沥血5个月淦出本文,整理所有MySQL知识.我愿称之为地表最强MySQL. MySql笔记 MySQL是关系型数据库,基于SQL查询的开源跨平台数据库管理系统.它最初是由瑞典MySQL AB ...
- 机械工程英语第二版叶邦彦-汉语翻译最多单元版
UNIT 1 Advanced Engineering Materials 第一单元 先进的工程材料 Types of Materials 材料的类型 Materials may be grouped ...
- Redis 笔记(16)— info 指令和命令行工具(查看内存、状态、客户端连接数、监控服务器、扫描大key、采样服务器、执行批量命令等)
Info 命令返回关于 Redis 服务器的各种信息和统计数值.通过给定可选的参数 section ,可以让命令只返回某一部分的信息. 1. 显示模块 server : 一般 Redis 服务器信息, ...
- Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
1. keys Redis 提供了一个简单暴力的指令 keys 用来列出所有满足特定正则字符串规则的 key. 127.0.0.1:6379> keys * (empty array) 127. ...
- Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)
字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...
- Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)
1. keys 键相关命令 命令 说明 dbsize 返回当前数据路的key数量 exists key 测试指定key是否存在 expire key seconds 为key指定过期时间 type k ...
- python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)
前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...
- python 判断字典是否包含某个key,以及对应的value 值
python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...
- Json 动态获取key 或者获取value
在解析之前首先要清楚要解析的json 是字符形式 还是数组形式 1 字符形式 public String json = "{\"年龄\":\"23\" ...
- Go 学习笔记(12)— 字典map定义、初始化、读取字典、删除字典、清空字典、map 按 key 进行有序遍历
Go 中字典也叫做 map , map 是一种无序的键值对的集合. map 最重要的一点是通过 key 来快速检索数据, key 类似于索引,指向数据的值. 1. 字典定义 可以使用内建函数 make ...
最新文章
- 始于TensorFlow ,终于PyTorch
- 产生数(Floyd)
- 【windows】Qt打开资源管理器并选中指定文件
- wxWidgets:wxStringTokenizer类用法
- wget 地址 连接超时_HttoPool连接池 和Hystrix 服务容错机制
- setsockopt函数功能介绍
- linux使用外部smtp发送邮件,Centos 配置mailx使用外部smtp发送邮件
- opencv 最大内接矩形_OpenCV之二值图像分析 – 寻找最大内接圆
- 《开学第一课》观后感—吕中琪
- WCF-006:服务端类的封装问题
- 【ArcGIS 10.2新特性】地理数据(Geodatabase 和database)10.2 新特性
- 区块链 Fisco bcos 智能合约(18)-FISCO BCOS的速度与激情:性能优化方案最全解密
- 做到心云社客这三点,你也拥有很多网络赚钱机会
- 如何把pdf分割成多个?怎么把pdf文件分成多个?
- Chrome浏览器 抢购、秒杀插件,秒杀助手
- 植物摄影——顶尖高手传授独门秘技
- ESS定时调度问题修复
- 【免费扩容onedrive】
- 为何很多 App 图标使用白色做底色?
- 出货系统镜像批量安装方案
热门文章
- 电脑是否存在内存泄漏_如何避免内存泄露
- 数据价值深度挖掘,分析服务上线“探索”能力
- 【愚公系列】2023年05月 网络安全高级班 067.WEB渗透与安全(Havij实战-SQL自动化注入)
- SQL注入攻击及防御 手动注入+sqlmap自动化注入实战(网络安全学习12)
- dcloud从入门到入坑
- About TexturePacker
- RabbitMQ 学习笔记
- 2021_RecSys_Together is Better: Hybrid Recommendations Combining Graph Embeddings and Contextualized
- sql2005java驱动_sqljdbc.jar 2005
- 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。...