2010-05-16 68 views
0

WPF的文本框(System.Windows.Controls.TextBox)似乎只在選中文本具有焦點時突出顯示。當焦點丟失時,我需要讓TextBox繼續顯示選擇。WPF文本框 - 不隱藏選擇

在一個標準的Win32編輯控件中,我可以用ES_NOHIDESEL來實現。我怎樣才能得到WPF中的等價物?

回答

2

您可以處理LostFocus事件並將事件參數設置爲e.Handled = true。通過這種方式,TextBox不會知道它失去了焦點,並會保持您的選擇。

private void myTextCtrl_LostFocus(object sender, RoutedEventArgs e) 
    { 
     e.Handled = true; 
    } 

這會給你一個類似的東西,你在找什麼,但不同的是Win32的方式,它仍然會顯示您在高亮色彩,而不是暗灰色的選擇。

如果您真的想完成這項工作,您還可以爲<TextBox.SelectionBrush>編寫XAML。

另一種方法是使用FocusManager,你可以閱讀約this method here