1.FindName()说明,可以用来获取已经注册名称的元素或标签

        //
// 摘要:
// 查找具有提供的标识符名的元素。
//
// 参数:
// name:
// 所请求元素的名称。
//
// 返回结果:
// 请求的元素。如果未找到匹配的元素,该值将为 null。
public object FindName(string name);

但是后台添加名称注册的方式是使用RegisterName(),而不是直接给Name赋值

        //
// 摘要:
// 提供一个可简化对 System.Windows.NameScope 注册方法访问的访问器。
//
// 参数:
// name:
// 要在指定的名称-对象映射中使用的名称。
//
// scopedElement:
// 映射的对象。
public void RegisterName(string name, object scopedElement);

举例说明:

1.直接赋值Name,无法通过FindName()查找到

//后台添加name 的元素
Label lbl1 = new Label();
lbl1.Content = "张三丰";
lbl1.Name = "lbl1"; //这样指定的无法通过FindName()查找到
panelOne.Children.Add(lbl1);
//查找后台添加的元素,没有找到
Label lbl1 = this.FindName("lbl1") as Label;
if (lbl1 != null)
{
MessageBox.Show(lbl1.Content.ToString());
}

2.使用RegisterName(),注册可以使用FindName()查找到

TextBlock block = new TextBlock();
block.Text = "海上生明月";
panelOne.RegisterName("block1", block); //将block命名block1名称注册到panelOne上
panelOne.Children.Add(block);
//从当前窗口获取,可以访问到
TextBlock block1 = btn1.FindName("block1") as TextBlock;
if (block1 != null)
{
MessageBox.Show(block1.Text);
}
//从Panel获取,可以访问到
TextBlock block2 = panelOne.FindName("block1") as TextBlock;
if (block2 != null)
{
MessageBox.Show("panelOne:"+block2.Text);
}

WPF FindName()没找到指定名称的元素的更多相关文章

  1. 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统没找到指定的文件

    创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文 ...

  2. WPF FindName()查找命名注册的元素

    一.查找xaml中命名注册的元素 <Button x:Name="btn1" Content="显示内容" HorizontalAlignment=&qu ...

  3. jquery中判断选择器,找没找到元素用$().size()==0

    jquery中判断选择器,找没找到元素用$().size()==0

  4. Search for a range, 在一个可能有重复元素的有序序列里找到指定元素的起始和结束位置

    问题描述:给定一个有序序列,找到指定元素的起始和结束位置.例如:1234555,5,起始4结束6 算法分析:其实就是一个二分查找的利用.但是特殊就在不是找到某个元素,而是找到下标.也就是在nums[m ...

  5. 在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,其中A,B是都集合S中的元素,没找到则返回-1

    package bianchengti; /* * 在由N个元素构成的集合S中,找出最小元素C,满足C=A-B, * 其中A,B是都集合S中的元素,没找到则返回-1 */ public class f ...

  6. 【Win10】解决 模拟器调试手机 错误-> 引导阶段... 无法找到指定路径......\2052\msdbgui.dll

    去弄几天的Web服务,又弄了几天的CefSharp,都是给其它组的同学做了一下支持,终于又可以回来玩下Win10啦. 今天想试一下UWP在手机上的效果,就找了台WP手机开始升级,结果下载速度遥遥无期, ...

  7. 解析img图片没找到onerror事件

    本篇文章主要介绍了img图片没找到onerror事件 Stack overflow at line: 0 需要的朋友可以过来参考下,希望对大家有所帮助 打开网页时提示 Stack overflow a ...

  8. MySQL发生系统错误2 系统无法找到指定文件

    https://blog.csdn.net/digitalmon/article/details/78152187 https://www.cnblogs.com/gaogaoyanjiu/p/104 ...

  9. jquery属性选择器(匹配具有指定属性的元素)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. xcode5时代如何设置Architectures和Valid Architectures

    目前ios的指令集有以下几种: 1,armv6,支持的机器iPhone,iPhone2,iPhone3G及对应的iTouch 2,armv7,支持的机器iPhone4,iPhone4S 3,armv7 ...

  2. 单片机Keil软件仿真与调试技巧

    一.引言 单片机软件开发过程中,软件调试遇到的各种问题常令初学者感到不知所措.实际上.各种仿真开发软件的程序调试基本方法和技巧大同小异,掌握正确的程序调试基本技巧.对于排查这些程序错误问题可以起到举一 ...

  3. PL/SQL 程序块

    DECLARE BARCODE VARCHAR(50); BEGIN BARCODE := 'A'; IF BARCODE<>'A' then SELECT 1 FROM sam_user ...

  4. 使用Git将本地代码上传到GitHub

    #1注册GitHub账号 *1)到https://github.com/注册GitHub账号 #2在GitHub上建立GitHub仓库 *1)登录后点击右下方的"new repository ...

  5. Node.js权威指南 (4) - 模块与npm包管理工具

    4.1 核心模块与文件模块 / 574.2 从模块外部访问模块内的成员 / 58 4.2.1 使用exports对象 / 58 4.2.2 将模块定义为类 / 58 4.2.3 为模块类定义类变量或类 ...

  6. HDU-4974 A simple water problem

    http://acm.hdu.edu.cn/showproblem.php?pid=4974 话说是签到题,我也不懂什么是签到题. A simple water problem Time Limit: ...

  7. 自己记录java环境搭建之-maven

    简述: 现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首 ...

  8. WebClient的超时问题及解决

    WebClient的超时问题及解决 转自:http://blog.163.com/xiaozhi797@126/blog/static/62440288201112245345838/   Webcl ...

  9. Bzoj 1696: [Usaco2007 Feb]Building A New Barn新牛舍 中位数,数学

    1696: [Usaco2007 Feb]Building A New Barn新牛舍 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 394  Solve ...

  10. java 哈希码

    加入新的元素到数组中 /** * Append the given object to the given array, returning a new array * consisting of t ...