0

XAML にテキスト ボックスのコンテナーとして機能する四角形があり (テキスト ボックスは四角形に表示されます)、四角形をドラッグして (四角形オブジェクトの mousedown および mousemove イベントを使用して) 移動できますが、テキスト ボックスに問題があります。私の長方形の大部分をカバーしているので、ユーザーがマウスをクリックして(そしてそれを動かそうとすると)、実際にテキストボックスをクリックする可能性が非常に高いため、長方形のマウスイベントは発生せず、何も機能しません! (つまり、移動はできません)。どうすればこの問題を克服できますか? (SL 5 & VS 2012 を使用)

4

1 に答える 1

1

TextBox コントロールは、マウス ダウン イベントを処理し、それらがビジュアル ツリーをバブリングしないようにします。(キャンバスを使用している場合、バブリング イベントは役に立ちません)

コードなどを使用して、独自のイベントハンドラーをマウスイベントに追加できます。

txtbox.AddHandler(TextBox.MouseLeftButtonDownEvent, 
                  new MouseButtonEventHandler(<your handler>), true);

ハンドラーの署名は次のとおりです。

  private void <your handler>(object sender, MouseButtonEventArgs e)
        {

        }

あなたの状況の詳細でこれ以上のことが必要な場合はお知らせください。

于 2013-03-27T18:20:06.580 に答える