我正在使用MVVM模式在WPF中編寫應用程序,並且實際上通常會使用TextBox
es。 我不想使用標籤的用戶知道用戶的文本框是什麼,也就是我不想是這樣的:WPF中文本框的焦點相關文本更改
<TextBlock> Name: </TextBlock>
<TextBox />
相反,我想TextBox
遏制它自己的標籤。如果將光標顯示在文本框中,即TextBox
獲得焦點,我想說明文字消失
<TextBox>Name</TextBox>
:靜態,你會表達出來是這樣的。如果TextBox
留空並且失去焦點,則應再次顯示說明文字。它類似於StackOverflow的搜索文本框或Firefox的搜索文本框。 (如果你不確定我的意思,請告訴我)。
One TextBox的標籤可能在運行時發生變化,依賴於例如一個ComboBox
的選定元素或我的ViewModel中的值。 (就像在Firefox的搜索文本框中一樣,如果您從搜索引擎菜單中選擇谷歌,那麼如果您選擇「雅虎」將其設置爲「雅虎」,那麼文本框的標籤將更改爲「Google」)。因此我希望能夠綁定標籤的內容。
請考慮我可能已經在Text
-屬性TextBox
上擁有Binding。
如何實現這樣的行爲,並使其可重用爲我的任何TextBox
的?代碼是受歡迎的但不是必需的;對做什麼的描述就足夠了。
預先感謝您。
謝謝!這幫了很多。我不知道這種TextBox被稱爲水印文本框。在google中輸入後,我發現了更多信息。只需製作邊界的標籤子項,並且您的示例工作得很好。 – Simon 2010-06-12 21:25:18
很高興幫助。我花了很多時間尋找類似的東西。 – mfanto 2010-06-12 21:48:33
剩下的一個問題:如果我在TextBox的Tag屬性上設置了綁定,則只要綁定的標籤屬性發生更改,標籤的值就不會更新。有任何想法嗎? – Simon 2010-06-12 22:12:13