2017-06-22 11 views
0

私のコードが機能しない理由はわかりません。 テキストボックスをクリックすると、内部のすべてのテキストを選択して全体を編集します。TextBox内のすべてのテキストを選択WPF

マイコード:

private void XValue_PreviewMouseDown(object sender, MouseButtonEventArgs e) 
{ 
    ((TextBox)sender).SelectAll(); 
} 

XAMLコード:

<TextBox x:Name="XValue" Text="{Binding XInitValue, StringFormat={}{0:#,0.0000}}" Width="80" VerticalAlignment="Center" PreviewMouseDown="XValue_PreviewMouseDown" ></TextBox> 

イベントが発生しますが、テキストは

+0

見てください[こちら](https://stackoverflow.com/questions/660554/how-to-automatically-select-all-text-on-focus-in-wpf-textbox) –

+0

@ KrzysztofBrachaがコメントで提案したソリューション、またはフォーカスがないマウスクリックでテキストを選択したい場合は、代わりにPreviewMouseUpを使用してください – Arie

答えて

0

が選択されていないあなたはGotKeyboardFocusイベントを処理し、ディスパッチャを使用することができます。

private void XValue_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e) 
{ 
    var textBox = ((TextBox)sender); 
    textBox.Dispatcher.BeginInvoke(new Action(() => 
    { 
     textBox.SelectAll(); 
    })); 
} 

またはPreviewMouseDownイベント。キーは、ディスパッチャを使用することです。

-1

データコンテキストを設定した後にのみ動作するようにしました。

関連する問題