2012-05-21 11 views
5

テキストボックス内の下向き矢印キーを押したときに、ui要素にフォーカスを設定したいとします(ui要素は、字形のグリッドを含むポップアップです)。私はそれを純粋にXAML側で、またはMVVMを使用して動作させたいと思います。これは動作しますか?私はこれを達成する方法を教えてください。XAMLまたはMVVMを使用してUI要素にフォーカスを設定

<KeyBinding Key="Down" FocusManager.FocusedElement="{Binding ElementName=PART_GridControl}"/> 

私は背後に、このようなコードを使用していましたが、私は、テキストボックスの矢印キーを押し下げたときにmvvm.iは、グリッドコントロールにテキストボックスからフォーカスを変更したい実装したい -

private void text_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Down || e.Key == Key.Up || e.Key == Key.Left || e.Key == Key.Right) 
    { 
     PART_GridControl.Focus(); 
    }  
} 
+0

<キーバインドキー=「ダウン」がFocusManager.FocusedElement =「{バインディングのElementName = PART_GridControl}」/>は – user1379584

+0

に動作していないおそらく、私は混乱しているが、中にはKeyDownイベントを取得することではないだろう既にテキストボックスにフォーカスがあることを意味しますか? –

+0

テキストボックスの下向き矢印キーを押すと、テキストボックスからグリッドコントロールにフォーカスを変更したい – user1379584

答えて

1

あなたがWPFでの添付ビヘイビアを使用することができ、

チェックは以下

Managing focus while playing nice with MVVM

012リンク

Set focus

+0

これ以外の簡単な方法はありますか?フォーカスマネージャを使用して – user1379584

+0

http://stackoverflow.com/questions/1356045/set-focus-on-textbox-in-wpf-from-view-model-c-wpf/1356781#1356781 kこのリンク – user1379584

関連する問題