这一切都是为了尝试拥有一个数字文本框。那部分是无关紧要的,但这就是我创建以下课程的原因。 (顺便说一句,使用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中,它工作正常但当然它是一个常规文本框而不是我的修改版本。我是否需要以某种方式在代码隐藏中添加对类的引用?这是我第一次以这种方式使用课程,因为我从未需要默认提供的功能。
答案 0 :(得分:1)
问题是你使用Name作为依赖属性,你需要使用x:Name =“txtBox_heightft”作为扩展属性:)