我在WPF中有一个按钮,我想在双击它时更改文本,也就是说,我希望光标出现并键入要显示为内容的文本(类似于按下桌面快捷方式上的F2的行为)。
我猜我可以检测到双击,然后显示一个具有透明背景的文本框,这将让我获得光标,在这个新的文本框中键入文本,将其设置为按钮的内容并删除文本框,但这似乎不是正确的方法。
我想做的事情是,我正在使用形状开发图表工具。由于形状没有派生自ContentControl,因此我无法在其中放置文本框,并且我想模拟此行为。我考虑制作自定义控件,但这可能对此来说太麻烦了,而且我对此主题还不太熟悉。我猜另一种方法是使用装饰器(可能是边框),由于它派生自contentcontrol,我可以像joe建议的那样做同样的事情。有什么想法吗?
我可以做的另一件事是将形状放入网格中,然后将文本框放在形状上方,但我不确定这是否符合设计原则,而且我不知道命中测试只会在形状或网格上进行。