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相关推荐

  1. MySQL这一章就够了(一)

    前言:呕心沥血5个月淦出本文,整理所有MySQL知识.我愿称之为地表最强MySQL. MySql笔记 MySQL是关系型数据库,基于SQL查询的开源跨平台数据库管理系统.它最初是由瑞典MySQL AB ...

  2. 机械工程英语第二版叶邦彦-汉语翻译最多单元版

    UNIT 1 Advanced Engineering Materials 第一单元 先进的工程材料 Types of Materials 材料的类型 Materials may be grouped ...

  3. Redis 笔记(16)— info 指令和命令行工具(查看内存、状态、客户端连接数、监控服务器、扫描大key、采样服务器、执行批量命令等)

    Info 命令返回关于 Redis 服务器的各种信息和统计数值.通过给定可选的参数 section ,可以让命令只返回某一部分的信息. 1. 显示模块 server : 一般 Redis 服务器信息, ...

  4. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)

    1. keys Redis 提供了一个简单暴力的指令 keys 用来列出所有满足特定正则字符串规则的 key. 127.0.0.1:6379> keys * (empty array) 127. ...

  5. Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)

    字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...

  6. Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)

    1. keys 键相关命令 命令 说明 dbsize 返回当前数据路的key数量 exists key 测试指定key是否存在 expire key seconds 为key指定过期时间 type k ...

  7. python中如何对复杂的json数据快速查找key对应的value值(使用JsonSearch包)

    前言 之前在实际的项目研发中,需要对一些复杂的json数据进行取值操作,由于json数据的层级很深,所以经常取值的代码会变成类似这样: value = data['store']['book'][0] ...

  8. python 判断字典是否包含某个key,以及对应的value 值

    python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...

  9. Json 动态获取key 或者获取value

    在解析之前首先要清楚要解析的json 是字符形式 还是数组形式 1 字符形式 public String json = "{\"年龄\":\"23\" ...

  10. Go 学习笔记(12)— 字典map定义、初始化、读取字典、删除字典、清空字典、map 按 key 进行有序遍历

    Go 中字典也叫做 map , map 是一种无序的键值对的集合. map 最重要的一点是通过 key 来快速检索数据, key 类似于索引,指向数据的值. 1. 字典定义 可以使用内建函数 make ...

最新文章

  1. 始于TensorFlow ,终于PyTorch
  2. 产生数(Floyd)
  3. 【windows】Qt打开资源管理器并选中指定文件
  4. wxWidgets:wxStringTokenizer类用法
  5. wget 地址 连接超时_HttoPool连接池 和Hystrix 服务容错机制
  6. setsockopt函数功能介绍
  7. linux使用外部smtp发送邮件,Centos 配置mailx使用外部smtp发送邮件
  8. opencv 最大内接矩形_OpenCV之二值图像分析 – 寻找最大内接圆
  9. 《开学第一课》观后感—吕中琪
  10. WCF-006:服务端类的封装问题
  11. 【ArcGIS 10.2新特性】地理数据(Geodatabase 和database)10.2 新特性
  12. 区块链 Fisco bcos 智能合约(18)-FISCO BCOS的速度与激情:性能优化方案最全解密
  13. 做到心云社客这三点,你也拥有很多网络赚钱机会
  14. 如何把pdf分割成多个?怎么把pdf文件分成多个?
  15. Chrome浏览器 抢购、秒杀插件,秒杀助手
  16. 植物摄影——顶尖高手传授独门秘技
  17. ESS定时调度问题修复
  18. 【免费扩容onedrive】
  19. 为何很多 App 图标使用白色做底色?
  20. 出货系统镜像批量安装方案

热门文章

  1. 电脑是否存在内存泄漏_如何避免内存泄露
  2. 数据价值深度挖掘,分析服务上线“探索”能力
  3. 【愚公系列】2023年05月 网络安全高级班 067.WEB渗透与安全(Havij实战-SQL自动化注入)
  4. SQL注入攻击及防御 手动注入+sqlmap自动化注入实战(网络安全学习12)
  5. dcloud从入门到入坑
  6. About TexturePacker
  7. RabbitMQ 学习笔记
  8. 2021_RecSys_Together is Better: Hybrid Recommendations Combining Graph Embeddings and Contextualized
  9. sql2005java驱动_sqljdbc.jar 2005
  10. 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。...