2012-05-21 26 views
5

Quiero establecer el foco en el elemento ui (el elemento ui es emergente que contiene la cuadrícula devexpress) cuando presiono la tecla de flecha hacia abajo en el cuadro de texto. Me gustaría que funcione exclusivamente en el lado XAML o mediante el uso de MVVM. esto funcionara. los pls me dejan saber la manera que puedo lograr esto.Establecer el foco en el elemento UI usando XAML o MVVM

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

yo estaba usando código detrás de esta manera, pero quiero poner en práctica mvvm.i quieren cambiar el foco de la caja de texto para el control de la red, cuando se presiona la tecla de flecha hacia abajo en el cuadro de texto -

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

no está funcionando – user1379584

+0

Tal vez estoy confundido, ¿pero no el hecho de tener un evento en el keydown cuadro de texto ya significa que tiene foco? –

+0

Quiero cambiar el enfoque del cuadro de texto al control de la cuadrícula, cuando presiono la tecla de flecha hacia abajo en el cuadro de texto – user1379584

Respuesta

1

puede utilizar comportamiento adjunto en WPF,

Compruebe a continuación los enlaces

Managing focus while playing nice with MVVM

Set focus

+0

¿Hay alguna otra manera más simple que esta, como utilizando focusmanager – user1379584

+0

http://stackoverflow.com/questions/1356045/set-focus-on-textbox-in-wpf-from-view-model-c-wpf/1356781#1356781 Sólo chec k este enlace – user1379584

Cuestiones relacionadas