雙擊我在WPF中的按鈕來更改按鈕的內容(文字),我想改變,當我雙擊它的文字,這是我想要的光標出現,然後鍵入要顯示爲內容的文本(與在桌面快捷方式上按F2時的行爲類似)。WPF:如何在運行時
我想我可以檢測到雙擊,然後顯示一個帶有透明背景的文本框,這將使我獲得遊標,在這個新的文本框中鍵入文本,將其設置爲按鈕內容並刪除文本框,但是似乎不是正確的做法。
我想我腦子裏想的是我正在開發一個使用形狀的圖表工具。由於形狀不是從ContentControl派生的,因此我無法在其中放置文本框,並且我想模擬此行爲。我正在考慮製作一個自定義控件,但是對於這個可能太多了,我還不太瞭解這個主題。我想另一種方法是使用裝飾器(也許是邊框),因爲它是從contentcontrol派生出來的,所以我可以像喬所建議的那樣做同樣的事情。有任何想法嗎?
我可以做的另一件事是將形狀放在一個網格中,然後將文本框放在形狀的頂部,但我不確定這將如何作爲設計原則,而且我也不知道命中測試只會在形狀或網格上。
感謝喬。我想我心裏想的是,我正在開發一種使用形狀的圖表工具。由於形狀不是從ContentControl派生的,因此我無法在其中放置文本框,並且我想模擬此行爲。我正在考慮製作一個自定義控件,但是對於這個可能太多了,我還不太瞭解這個主題。我想另一種方法是使用裝飾器(也許是邊框),並且由於它是從contentcontrol派生出來的,所以我可以用按鈕來做同樣的事情。有任何想法嗎? – mihajlv
最簡單的方法是爲每個形狀製作一個UserControl,並且UserControl將在其上具有一個形狀和一個(有時隱藏的)文本框。 UserControl是重量級的,所以如果你有成百上千個這樣的話,就不會很好地擴展,但它是一個簡單的入門方法。但取決於TextBox的大小,顯示它可能會導致您的UserControl調整大小。或者,您可以將文本框放入裝飾器中 - 然後您每次只能使用一個文本框。我從來沒有真正使用裝飾,所以我無法幫助。 –
好的,謝謝。 – mihajlv