繁体   English   中英

尝试从代码隐藏中按名称访问xaml“ local:”控件时出错

[英]Error trying to access xaml “local:” control by name from codebehind

所有这些都是从尝试拥有一个数字文本框开始的。 这部分无关紧要,但这就是为什么我创建了以下类。 (顺便说一下,使用VS 2012 Express,WPF,C#代码隐藏)。

using System;
using System.Windows.Controls;

    namespace Herculese
    {
        public class IntBox : TextBox
        {
            <!-- irrelevant code here-->
        }
    }

到现在为止还挺好。 我建立了,这成为我继续在xaml中使用的控件:

<local:IntBox Name="txtBox_heightft" Width="60" TextChanged="txtBox_Numeric_Changed" />

然后,在我试图使用“ txtBox_heightft.Text”引用文本框中的文本的代码后面,我被告知“名称“ txtBox_heightft”在当前上下文中不存在”。 这使我无休止,因为如果我在xaml中将“ local:IntBox”更改为“ TextBox”,它可以正常工作,但那当然是常规文本框,而不是我的修改版本。 我是否需要以某种方式在代码背后添加对类的引用? 这是我以这种方式使用类的第一次尝试,因为我从来不需要默认未提供的功能。

问题是您使用Name作为依赖项属性,需要使用x:Name =“ txtBox_heightft”作为扩展属性:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM