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

时间:2013-02-13 09:11:43

标签: c# wpf class xaml visual-studio-2012

这一切都是为了尝试拥有一个数字文本框。那部分是无关紧要的,但这就是我创建以下课程的原因。 (顺便说一句,使用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" />

然后在我的代码后面,我尝试使用&#34; txtBox_heightft.Text&#34;来引用文本框中的文本,我告知&#34;名称&#34; 39; txtBox_heightft&#39;在当前上下文中不存在&#34;。这让我感到困惑,因为如果我改变&#34; local:IntBox&#34;到&#34; TextBox&#34;在xaml中,它工作正常但当然它是一个常规文本框而不是我的修改版本。我是否需要以某种方式在代码隐藏中添加对类的引用?这是我第一次以这种方式使用课程,因为我从未需要默认提供的功能。

1 个答案:

答案 0 :(得分:1)

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