2012-09-24 50 views
0

我有一个MainView和一个ChildView和一个MainViewModel和一个ChildViewModel。失去焦点和更新源

在我的MainView上,我得到了一个通过命令绑定到VM的SaveButton。

当单击该按钮时,ChildView上的文本框应该失去焦点并更新其虚拟机。

我该怎么做?

 <DataGridTemplateColumn Header="FOR [percent]" Width="*" > 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Knowles_ShiftreportEditor_Controls:NumberTextbox Text="{Binding ForValue, Mode=TwoWay, UpdateSourceTrigger=LostFocus}" AllowsDecimal="True"/> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 

回答

0

我有同样的问题,按钮IsDefault = true或Keybinding。我所做的是我app.xaml.cs注册一个事件处理程序OnStartup()

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(); 
         } 
        })); 

    } 

现在的工作重点是设置为按钮和文本框结合工作像预期。

+0

这也不起作用 – TheJoeIaut

+0

当你走出你的文本框与选项卡时,你的文本框绑定工作吗?也许你张贴了一些代码来显示行为 – blindmeis

+0

如果我用Tab键离开文本框,它就起作用了。同时调用EventHandler和Focus Method – TheJoeIaut