0
WPF的文本框(System.Windows.Controls.TextBox)似乎只在選中文本具有焦點時突出顯示。當焦點丟失時,我需要讓TextBox繼續顯示選擇。WPF文本框 - 不隱藏選擇
在一個標準的Win32編輯控件中,我可以用ES_NOHIDESEL來實現。我怎樣才能得到WPF中的等價物?
WPF的文本框(System.Windows.Controls.TextBox)似乎只在選中文本具有焦點時突出顯示。當焦點丟失時,我需要讓TextBox繼續顯示選擇。WPF文本框 - 不隱藏選擇
在一個標準的Win32編輯控件中,我可以用ES_NOHIDESEL來實現。我怎樣才能得到WPF中的等價物?
您可以處理LostFocus事件並將事件參數設置爲e.Handled = true
。通過這種方式,TextBox不會知道它失去了焦點,並會保持您的選擇。
private void myTextCtrl_LostFocus(object sender, RoutedEventArgs e)
{
e.Handled = true;
}
這會給你一個類似的東西,你在找什麼,但不同的是Win32的方式,它仍然會顯示您在高亮色彩,而不是暗灰色的選擇。
如果您真的想完成這項工作,您還可以爲<TextBox.SelectionBrush>
編寫XAML。
另一種方法是使用FocusManager,你可以閱讀約this method here。