我有一个简单的对话框与SpinEdit控件thot应该使用整数和浮点值 . 它适用于整数,但它不加载浮点值 . 浮动值正确加载到我的属性,但一旦对话框打开,它显示'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 ver 16.1.6,在与我的同事协商后,他建议MaskUseAsDisplayFormat属性可以在新版本上正常工作,但我不能使用更新的版本,所以我不会检查它 .