What Changed
We changed the TimeSpanMaskOptions.DefaultPart property type from TimeSpanPart
to TimeSpanPart?
. The default value has been changed from Hour
to null
. As a result, the first non-optional mask segment is used by default. If a mask contains only optional segments (with square brackets [
and ]
), the first optional segment is used by default.
Reasons for Change
We changed this property type and the default value to let users focus the first segment regardless of the chosen mask.
Impact on Existing Apps
Previously, editors with TimeSpan masks used hour as the default mask segment.
For example:
XAML<dxe:TextEdit Mask="dd DD hh HH mm MM" MaskType="TimeSpan" />
In v20.2 and newer, the first non-optional mask segment is used by default.
If a mask contains only optional segments, the first optional segment is used by default.
How to Update Existing Apps
Set TimeSpanMaskOptions.DefaultPart
to Hour
to return to the previous behavior.
XAML<dxe:TextEdit dxe:TimeSpanMaskOptions.DefaultPart="Hours" Mask="dd DD hh HH mm MM" MaskType="TimeSpan" />