Silverlight 5の古いアプリケーションをSilverlight 5に移行したところ、データフォームの1つに問題があることがわかりました。問題のDataformには、SL5ツールキットのNumericUpDownコントロールが含まれています。私たちは、次のシナリオで(それはfalseを返しますすなわち)にcommitEditが火災に表示されないことに気づいた:DataformとツールキットSilverlight 5のNumericUpDownが正常に動作しない
1)データフォーム
2を含むポップアップウィンドウを開きます)によって、NumericUpDownコントロールの値を変更します上矢印または下矢印をクリックします。
3)データフォームに接続された[保存]ボタンをクリックします。次のように
保存]ボタンに接続され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ツールキットで導入された問題ですか?
実際、このバグはSL4ツールキットにも存在していたと思います。私たちがSL4アプリケーションでそれを見なかった理由は、ポップアップウィンドウの最初のフィールドにフォーカスが設定されるとすぐにフォーカスを設定していたからです。 –