我想在Silverlight 4中将菜单栏添加到TextBox控件。(我将创建一个新的可重用控件。)菜单栏将包含一些图像按钮。这个想法是它通常会保持隐藏,只有当用户将他/她的鼠标光标放到TextBox区域时才会显示。如果在多线文本框中使用,整个菜单栏可以放入其中,这应该很容易。 (我希望。: - ))
但是TextBox处于单线模式时如何解决问题呢?我想把菜单栏放在TextBox上面。但我不知道如何做到这一点。有人可以帮忙吗?我需要让表单中的所有其他控件保持在他们的位置,并且只在我的文本框上方添加我的菜单栏。 (所以菜单栏不会隐藏文本框。相反,它会隐藏位于文本框正上方的其他控件。)它应该适用于所有形式的排列,如Grid,StackPanel,Canvas等。事实上它将类似于经典的右键单击上下文菜单,但不是模态。 (右键单击上下文菜单是模态的,即显示时您不能使用其他控件,当您单击其他任何位置时它会自动隐藏。只要用户将鼠标光标放在文本框或菜单栏上,我希望我的菜单栏保持可见状态。)
示例:文本框的坐标为top = 100,left = 20,bottom = 115,right = 120。所以我的菜单栏的坐标应该是底部= 100,左边= 20,右边和右边。顶部是基于菜单栏的大小。
如果在一个页面上使用多个文本框,则每个文本框都应该有自己的菜单栏。 (当然。)
答案 0 :(得分:0)
您可以创建自己的控件(自定义控件或UserControl,无论您喜欢哪个应该工作),其中包含TextBox
和菜单栏的视觉效果。
如果TextBox
是单行,您可以在Popup
显示菜单栏,只要鼠标悬停在TextBox
上方,就会显示该菜单栏。
如果TextBox
是多行的,那么您只需使用StackPanel
或Grid
或其他任何方式进行布局,如果我理解您想要的内容。
答案 1 :(得分:0)