2012-01-05 12 views
0

私はWPFアプリケーションのすべてのテキストボックスに対してSelectAll(テキスト)機能を実装しようとしています。私はそれを行う方法を見つけたhere。ただし、フォームの最初のTextBoxは自動的にフォーカスされません。私はただ単にfirstTextBox.Focusを使って、Window_Loadedイベントハンドラーでそれを解決しようとしています。これは動作しますが、このTextBoxのTextプロパティはバインドによって設定されており、の後には、Window_Loadedイベントのの後に発生します。だから、私は最初にフォーカスされているテキストが選択されていない最初のテキストボックスに終わる。私は別のイベントに接続する必要があるようです。どれ?テキストがバインドされた後にTextBoxにフォーカスを設定する方法はありますか?

+0

mvvmまたはcodebehindを使用するバインディングや情報のための情報やコードを追加できますか?この情報がなければ、私は単にdatacontextを設定した後にフォーカスを設定すると言うでしょう。 – blindmeis

+0

@blindmeis:それについて考えるのはあまりにも単純です;-)それは動作します!答えにあなたのコメントをつけて、私はそれを受け入れます。 – Dabblernl

答えて

1

なぜあなたはDataContextChangedEventをしようとしません。フォーカスを持っているのはWPFの痛みです。ファイルの裏にコードをリレーする必要があります。

1

はあなたのウィンドウのXAMLでのFocusManagerを使用してみてください:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" 
    FocusManager.FocusedElement="{Binding ElementName=firstTextBox}"> 
    <Grid> 
     <TextBox Name="firstTextBox" /> 
    </Grid> 
</Window> 
+0

No luck、最初のTextBoxはすべてのフォーカスを取得しますが、そのテキストは後で割り当てられます。 – Dabblernl

関連する問題