我有一个带有SpinEdit控件的简单对话框,应该使用整数和浮点值。它可以正确使用整数,但是不会加载浮点值。浮点值已正确加载到我的媒体资源中,但是一旦对话框打开,它会显示“ 0,00”,而不是“ 44,44”。如果我的浮点值没有小数,那么它也可以正确加载,因此我可以看到类似“ 44,00”的值。
我尝试强制转换为十进制,但无济于事。唯一的区别是我的属性中的值带有点“。”。在SpinEdit显示逗号时作为小数位占位符。从我读到的内容来看,这应该不是问题。 这是我的SpinEdit:
XAML:
<DataTemplate DataType="{x:Type local:TInputNumericVM}">
<dxe:SpinEdit x:Name="dxSpinEdit"
Text="{Binding Value, Mode=TwoWay}"
MaskType="Numeric"
IsFloatValue="{Binding FloatValue}"
MinValue="{Binding MinValue}"
MaxValue="{Binding MaxValue}"
Mask="{Binding Mask, Mode=TwoWay}"
MaxLength="{Binding Path=InputLength}"
MaskShowPlaceHolders="{Binding ShowPlaceHolder}"
InvalidValueBehavior="WaitForValidValue"
MaskUseAsDisplayFormat="True"
AllowRoundOutOfRangeValue="True"
Increment="{Binding IncrementStep}"
/>
</DataTemplate>
使用'IsFloatVakue = true','Mask = f','MaskShowPlaceholders = True'
编辑:
我设法用一个临时的解决方法来显示浮点值。我扔掉了MaskUseAsDisplayFormat =“ True”属性,并在将值设置为“ ###。##”的情况下使用了FormatDisplayString属性。我对这种解决方案不满意,但它现在可以使用,问题仍然悬而未决,我希望进一步提出建议。
EDIT2:
我正在开发devexpress版本16.1.6,在与我的同事协商后,他建议MaskUseAsDisplayFormat属性可能在较新的版本上正常工作,但是我不能使用较新的版本,因此我将不对其进行检查。
答案 0 :(得分:0)
我也使用SpinEdit显示浮点/双精度值。这是对我有用的代码:
<dxe:SpinEdit MinValue="1" Increment="0.5"
Mask="f1" MaskUseAsDisplayFormat="True" IsTextEditable="True"
EditValueType="{x:Type system:Double}"
EditValue="{Binding Path=XYZ, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
猜想要设置的重要属性是“蒙版”和“ EditValueType”。
使用DevExpress 17.2.4。