2011-02-05 29 views
1

我想將菜單欄添加到Silverlight 4中的TextBox控件中。(我將創建一個新的可重用控件。)菜單欄將包含幾個圖像按鈕。這個想法是,它通常會保持隱藏狀態,並且只有當用戶將他/她的鼠標光標放到TextBox區域時纔會顯示出來。如果用在多行文本框中,整個菜單欄都可以放入其中,這應該很簡單。 (我希望:-))如何在Silverlight中定位TextBox上方的菜單欄?

但是如何解決TextBox處於單行模式時的情況?我想把菜單欄放在TextBox上面。但我不知道如何去做。有人可以幫忙嗎?我需要讓表單中的所有其他控件停留在他們的位置,並且只在我的文本框上方添加我的菜單欄。 (因此,菜單欄不會隱藏文本框,而是隱藏文本框上方的其他控件)。它應該以格式的所有佈置工作,例如Grid,StackPanel,Canvas等。實際上,它將類似於經典的右鍵單擊上下文菜單,但不是模態。 (右鍵單擊上下文菜單是模式化的,也就是說,當它顯示出來時你不能使用其他控件,並且當你點擊其他任何地方時它會自動隱藏。只要用戶將鼠標光標懸停在文本框或菜單欄上,我希望菜單欄保持可見)

示例:文本框的座標爲top = 100,left = 20,bottom = 115,right = 120。所以我的菜單欄的座標應該是底部= 100,左側= 20,右側&頂部基於菜單欄的大小。

如果在單個頁面上使用許多文本框,則每個文本框都應該有自己的菜單欄。 (當然)

回答

0

您可以創建自己的控件(自定義控件或用戶控件,無論你喜歡應該工作),它具有TextBox和菜單欄的可視化。

如果TextBox是單行的,您可以在Popup中顯示菜單欄,只要鼠標懸停在TextBox之上就可以定位該菜單欄。

如果TextBox是多行,你只需使用一個StackPanelGrid或任何做佈局像正常的,如果我理解你想要什麼。

+0

謝謝,我認爲Popup課可以幫助我。 – 2011-02-10 23:07:23