1

拡張WPFToolKitのDecimalUpDownコントロール(v1.7)を使用しています。コントロールは、スピナーコントロールを使用する場合は期待どおりに動作しますが、テキストを直接編集する場合は動作しません。これは基本的なMVVMWPFアプリであり、コントロールは。という名前のViewModelのdecimalプロパティにバインドされていますCurrentWidth

ViewModelには、さまざまな検証ルールが適用されてCurrentWidthいます。プロパティの最後で、RaisePropertyChange("CurrentWidth");値が検証されない場合、CurrentWidthが変更されないままになることがあります。

スピナーコントロールで変更を行うと、すべてのエラーチェック、値の元に戻すなどが機能します。ユーザーがボックスに直接テキストを入力した場合でも、検証は機能しますが、ボックスにはユーザーが入力した内容が表示されたままになります。デバッグ情報を送信すると、ValueプロパティとTextプロパティの両方に正しい変更されていない値がありますが、ボックスにはユーザーが入力した値が表示されます。LostFocusイベントハンドラーを追加InvalidateVisual()して送信者コントロールを呼び出してみましたUpdateLayout()が、コントロールをタブでオフにした後も、ユーザーが入力したテキストは表示されたままです。実際の現在の値を反映させる方法を知っている人はいますか?

4

1 に答える 1

1

WPFToolkit1.8.0をダウンロードします。このバグはそこで解決されます。

于 2013-03-20T12:40:09.587 に答える