NumberInput
在输入过程中保持文本为数字、并按自身规则步进的数值字段,即 uikit:NumberInput。
示例可交互
Live demo unavailable
<StackPanel Spacing="12" Width="200" HorizontalAlignment="Left">
<uikit:NumberInput Value="0.1" Increment="0.2" />
<uikit:NumberInput Value="1234.56" Increment="100" Minimum="0">
<uikit:Inputs.MaskPattern>
<uikit:NumberMask Separator="," Fraction="2" />
</uikit:Inputs.MaskPattern>
</uikit:NumberInput>
<uikit:NumberInput Value="0.9" Minimum="0" Loaded="OnLoaded" />
</StackPanel>用法
uikit:NumberInput 是 NumericUpDown,具有 Number Input 的外观,并在输入过程中保持文本为数字:可选的正负号、数字与一个小数点,全角数字与符号按 ASCII 输入。在其上设置的 uikit:Inputs.MaskPattern、Pattern 与 Validate 会取代该规则;带 Separator 的 uikit:NumberMask 可为数字分组(见 Input)。
一次步进(按钮、↑ 与 ↓、鼠标滚轮)按 Increment 移动已输入的值,保留值与步长的小数位(0.1 + 0.2 得到 0.3),并钳制在 Minimum 与 Maximum 之间;无法朝该方向移动时则不做任何事。StepBy 是 Func<decimal, StepAction, decimal>,根据值与方向返回步长。设置 StepsValue="False" 后,步进只会引发 Step 并带上其 Action(Increment 或 Decrement),由应用自行设置值;当步进得到的值被输入规则拒绝时,同样会引发 Step。
演示包含步长 0.2 且保留一位小数的字段、按千分位分组且步长为 100 的金额,以及一个在小于 1 时按 0.1、大于 1 时按 0.5 步进的 StepBy。