2011-02-05 14 views
1

Silverlight 4のTextBoxコントロールにメニューバーを追加したい(再利用可能な新しいコントロールを作成する)。メニューバーはいくつかのイメージボタンで構成されている。ユーザーがマウスカーソルをテキストボックス領域に置いた場合にのみ、通常は非表示になり、表示されます。複数行のテキストボックスで使用する場合は、全体のメニューバーをその中に収めることができます。これは簡単に行うことができます。 (私が願っています:-))SilverlightのTextBoxの上にメニューバーを配置する方法は?

しかし、TextBoxがシングルラインモードにあるときの状況を解決する方法はありますか? TextBoxの上にメニューバーを配置したいと思います。しかし、私はそれを行う方法の手がかりを持っていません。誰かが助けることができますか?フォーム内の他のすべてのコントロールを自分の位置にとどめ、テキストボックスの上にメニューバーを追加するだけです。 (つまり、メニューバーはテキストボックスを非表示にするのではなく、テキストボックスのすぐ上にある他のコントロールを非表示にします)。Grid、StackPanel、Canvasなどのような形式のすべての配列で機能するはずです。古典的な右クリックのコンテキストメニューですが、モーダルではありません。 (右クリックのコンテキストメニューはモーダルです。つまり、他のコントロールを使用することはできませんが、他の場所をクリックすると自動的に非表示になります。マウスカーソルをテキストボックスやメニューバーに重ねると、 )

例:テキストボックスの座標は、top = 100、left = 20、bottom = 115、right = 120です。だから、私のメニューバーの座標はbottom = 100、left = 20、right & topはmenubarのサイズに基づいているはずです。

1つのページで多くのテキストボックスが使用される場合は、それぞれに独自のメニューバーが必要です。

答えて

0

TextBoxを持つ独自のコントロール(カスタムコントロールまたはUserControlが好きな方)を作成し、メニューバーのビジュアルを作成することができます。

が1行の場合、Popupにメニューバーを表示できます。メニューバーは、マウスが上に来るとすぐにTextBoxの上に表示されます。

が複数行の場合は、希望するものを理解している場合は、通常StackPanelまたはGridなどのレイアウトを使用してください。

+0

ありがとう、私はポップアップクラスが私を助けることができると思います。 –

0

このメニューを使用する場合は不要コーディング:

http://sl4popupmenu.codeplex.com

あなたがtrueにIsPinnedプロパティを設定する必要がありますこの動作を達成するために。

関連する問題