Silverlight 4のTextBoxコントロールにメニューバーを追加したいと思います(新しい再利用可能なコントロールを作成します)。メニューバーはいくつかの画像ボタンで構成されます。通常は非表示のままで、ユーザーがマウスカーソルをTextBox領域に置いたときにのみ表示されるという考え方です。複数行のテキストボックスで使用する場合、メニューバー全体をその中に収めることができます。これは簡単なはずです。(私は願います。 :-))
しかし、TextBoxが単一行モードの場合の状況を解決するにはどうすればよいですか?メニューバーをTextBoxの上に置きたいのですが。しかし、私にはそれを行う方法の手がかりがありません。誰かが助けることができますか?フォーム内の他のすべてのコントロールをその位置にとどまらせ、テキストボックスの上にメニューバーを追加するだけにする必要があります。(したがって、メニューバーはテキストボックスを非表示にしません。代わりに、テキストボックスのすぐ上にある他のコントロールを非表示にします。)グリッド、StackPanel、Canvasなど、フォームのすべての配置で機能するはずです。実際には、従来の右クリックコンテキストメニューですが、モーダルではありません。(右クリックのコンテキストメニューはモーダルです。つまり、表示されている間は他のコントロールを使用できず、他の場所をクリックすると自動的に非表示になります。ユーザーがテキストボックスまたはメニューバーの上にマウスカーソルを置いている限り、メニューバーは表示されたままにします。 。)
例:テキストボックスの座標は、top = 100、left = 20、bottom = 115、right=120です。したがって、メニューバーの座標はbottom = 100、left = 20である必要があり、rightとtopはメニューバーのサイズに基づいています。
1つのページで多数のテキストボックスを使用する場合は、各テキストボックスに独自のメニューバーを設定する必要があります。(もちろん。)