0

これはすべて、数値テキストボックスを作成する試みとして始まりました。その部分は関係ありませんが、それが私が次のクラスを作成した理由です。(ちなみに、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」に変更すると正常に機能しますが、もちろん通常のテキストボックスであり、変更したバージョンではないため、これで終わりがわかりません。どういうわけか、コードビハインドにクラスへの参照を追加する必要がありますか?デフォルトで提供されていない機能は必要なかったので、これはこの方法でクラスを使用する最初の試みです。

4

1 に答える 1

1

問題は、依存関係プロパティとしてNameを使用していることです。拡張プロパティとして、x:Name="txtBox_heightft"を使用する必要があります:)

于 2013-02-13T10:25:28.913 に答える