2012-05-21 2 views
5

텍스트 상자에서 아래쪽 화살표 키를 누르면 ui 요소 (UI 요소는 디플 렉 스 그리드를 포함하는 팝업)로 포커스를 설정하려고합니다. 순전히 XAML 측면에서 또는 MVVM을 사용하여 작업하고 싶습니다. 이것이 효과가있을 것입니다. pls 내가 이것을 수행 할 수있는 방법을 알려주십시오.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 링크 3,516,

Set focus

+0

다른 간단한 방법이 있습니다. focusmanager 사용 – user1379584

+0

http://stackoverflow.com/questions/1356045/set-focus-on-textbox-in-wpf-from-view-model-c-wpf/1356781#1356781 그냥 chec 이 링크 k – user1379584

관련 문제