0

我有一个 MainView 和一个 ChildView 以及一个 MainViewModel 和一个 ChildViewModel。

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

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

我怎样才能做到这一点?

        <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>
4

1 回答 1

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

     }

现在焦点设置在按钮上,文本框绑定按预期工作。

于 2012-09-24T12:49:53.587 回答