作成日: 2019/07/30 最終更新日: 2019/12/04
文書種別
不具合
状況
修正済み
詳細
C1TimeEditorのAllowNullプロパティがtrueで、マスク書式に適合しない値が入力されたとき、以前の入力状態によって動作が異なる場合があります。
例えば、Maskプロパティに"00:00"を設定し、以前の入力値が"12:00"の場合、入力エラーとなる値"12:_3"を入力すると、入力後の値は"__:__"(空欄)になります。この状態で再度入力エラーとなる値"12:_3"を入力すると、"__:__"(空値)にはならず、入力値"12:_3"が残ったままになります。
例えば、Maskプロパティに"00:00"を設定し、以前の入力値が"12:00"の場合、入力エラーとなる値"12:_3"を入力すると、入力後の値は"__:__"(空欄)になります。この状態で再度入力エラーとなる値"12:_3"を入力すると、"__:__"(空値)にはならず、入力値"12:_3"が残ったままになります。
回避方法
この問題はバージョン2019J v3(10.0.20193.685)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
下記のようにC1TimeEditorのLostFocusイベントを処理します。
◆サンプルコード
----------------------------------------------------
private void c1TimeEditor_LostFocus(object sender, RoutedEventArgs e)
{
if (c1TimeEditor.Value == null)
{
c1TimeEditor.ClearValue(C1.Xaml.DateTimeEditors.C1TimeEditor.ValueProperty);
c1TimeEditor.Value = null;
}
}
----------------------------------------------------
※修正版を適用しない場合の回避方法は以下の通りです。
下記のようにC1TimeEditorのLostFocusイベントを処理します。
◆サンプルコード
----------------------------------------------------
private void c1TimeEditor_LostFocus(object sender, RoutedEventArgs e)
{
if (c1TimeEditor.Value == null)
{
c1TimeEditor.ClearValue(C1.Xaml.DateTimeEditors.C1TimeEditor.ValueProperty);
c1TimeEditor.Value = null;
}
}
----------------------------------------------------
旧文書番号
84333