【发布时间】:2011-10-30 22:21:36
【问题描述】:
我在 WPF 中有一个按钮,我想在双击它时更改文本,即我希望光标出现并键入要显示为内容的文本(类似于按 F2 时的行为在桌面快捷方式上)。
我想我可以检测到双击,然后显示一个具有透明背景的文本框,这将使我获得光标,在这个新文本框中键入文本,将其设置为按钮内容并删除文本框,但这并没有似乎不是正确的方法。
我想我的想法是,我正在开发一个使用形状的图表工具。由于形状不是从 ContentControl 派生的,我不能在其中放置文本框,我想模拟这种行为。我正在考虑制作一个自定义控件,但这可能工作量太大,而且对这个主题还不太熟悉。我想另一种方法是使用装饰器(可能是边框),因为它来自 contentcontrol,所以我可以做与 joe 建议的相同的事情。有什么想法吗?
我可以做的另一件事是将形状放在网格中,然后将文本框放在形状的顶部,但我不确定这将如何作为设计原则,我也不知道如果命中测试仅在形状或网格上。
【问题讨论】:
标签: wpf button runtime double-click