Silverlight 5中的Dataform和toolkit NumericUpDown未按预期工作



我们刚刚将一个旧的Silverlight 4应用程序迁移到Silverlight 5,并注意到我们的一个Dataform存在问题。有问题的Dataform包含来自SL5工具包的NumericUpDown控件。我们注意到CommitEdit在以下情况下似乎不会触发(即返回false):

1) 打开包含DataForm 的弹出窗口

2) 通过单击向上或向下箭头更改NumericUpDown控件中的值。

3) 单击连接到Dataform的Save(保存)按钮。

连接到保存按钮的点击事件代码如下:

private void OKButton_Click(object sender, RoutedEventArgs e)
{
    if (updateUserDataForm.ValidateItem())
        updateUserDataForm.CommitEdit(true);
    else
        updateUserDataForm.CancelEdit();
}

XAML是:

        <toolkit:DataField Label="Display Order" LabelStyle="{StaticResource LabelStyles}" HorizontalAlignment="Left">
            <toolkit:NumericUpDown Minimum="1" Maximum="200" Value="{Binding DisplayOrder, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ValueChanged="NumericUpDown_ValueChanged"/>
        </toolkit:DataField>

当您在单击"保存"按钮之前首次对表单焦点赋予另一个控件时,CommitEdit工作正常。当我们使用SL 4工具包中的DatForm和NumericUpDown控件时,我们从未有过这种行为。这是SL5工具包中引入的问题吗?

好吧,这似乎实际上是一个错误:

http://forums.silverlight.net/t/182569.aspx/1

我已经通过扩展NumericUpDown控件修复了它,如下所述:

http://silverlight.codeplex.com/workitem/4633

我确信这一定是SL5工具包特有的错误。

最新更新