2012-09-24 6 views
0

저는 MainView와 ChildView, MainViewModel과 ChildViewModel을 가지고 있습니다.포커스 제거 및 업데이트 소스

내 MainView에서 VM을 명령을 통해 바인딩 된 SaveButton 있어요.

해당 버튼을 클릭하면 ChildView의 텍스트 상자에 포커스가 없어지고 VM이 업데이트됩니다.

어떻게 할 수 있습니까?

답변

0

버튼 IsDefault = true 또는 Keybinding에서 동일한 문제가 있습니다. 내가 무슨 짓을하는 것은

protected override void OnStartup(StartupEventArgs e) 
    { 
     EventManager.RegisterClassHandler(
      typeof(Button), 
      ButtonBase.ClickEvent, 
      new RoutedEventHandler(
       (sender, args) => 
        { 
         if (sender != null && sender is Button) 
         { 
          (sender as Button).Focus(); 
         } 
        })); 

    } 

이제 초점은 버튼으로 설정되고 예상처럼 텍스트 상자는 작업을 바인딩) (OnStartup 내 App.xaml.cs를에 이벤트 핸들러를 등록하는 것입니다.

+0

이 또한 작동하지 않습니다. – TheJoeIaut

+0

탭이있는 텍스트 상자에서 나가면 텍스트 상자 바인딩 작업이 작동합니까? 어쩌면 당신은 동작을 보여주는 코드를 게시 할 수 있습니다. – blindmeis

+0

Tab을 사용하여 텍스트 상자에서 나가면 작동합니다. 또한 Eventhandler 및 Focus 메서드가 호출됩니다. – TheJoeIaut

관련 문제