Silverlight 5中的Dataform和工具包NumericUpDown无法按预期工作

时间:2012-04-04 11:41:10

标签: silverlight-toolkit silverlight-5.0

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

1)打开包含DataForm

的弹出窗口

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

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

连接到“保存”按钮的Click事件代码如下:

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工具包引入的问题吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

我确定这必须是特定于SL5工具包的错误。