有時候為了考量到使用者操作時的便利性,會希望當使用者點選到文字輸入欄位時,會自動選取該欄位裡面所有的文字,以便編輯,這件事在Silverlight中非常容易就可以完成了,只要透過TextBox的SelectAll()方法就可以達成。
在WPF中就不太一樣囉!!
有時候為了考量到使用者操作時的便利性,會希望當使用者點選到文字輸入欄位時,會自動選取該欄位裡面所有的文字,以便編輯,這件事在Silverlight中非常容易就可以完成了,只要透過TextBox的SelectAll()方法就可以達成。
讓我們來看看Silverlight的範例先(請點選範例中的兩個文字輸入方塊):
上面範例的原始碼如下:
如果在WPF中依樣畫葫蘆呢?~很開心的....成果跟想像中會有很大的落差,得再加上PreviewMouseLeftButtonDown這個事件來多一點事才行,讓我們看看下面的WPF版範例。
上方範例的原始碼如下:
但是如果頁面上有一大堆的TextBox都想這樣做,那不就得加EventHandler加到中風了嗎!?還好WPF中有一個好用的類別可以幫我們解決這個問題—EventManager
我們可以在App.xaml.cs中透過EventManager來對所有的TextBox來動手腳,讓整個專案中所有的TextBox都有一樣的效果:
完成後的範例如下:
最後一樣附上專案原始檔,請自行服用: