WPF数据绑定StringFormat不支持十六进制格式?

WPF数据绑定StringFormat不支持十六进制格式?,wpf,data-binding,hex,string-formatting,Wpf,Data Binding,Hex,String Formatting,我正在使用WPF数据绑定。如果指定StringFormat={}{0:C},则可以格式化该数字。但是,如果我使用StringFormat={}{0:X2},它将给出以下异常: System.Windows.Data Error: 6 : 'StringFormat' converter failed to convert value '10' (type 'Double'); fallback value will be used, if available. BindingExpression

我正在使用WPF数据绑定。如果指定
StringFormat={}{0:C}
,则可以格式化该数字。但是,如果我使用
StringFormat={}{0:X2}
,它将给出以下异常:

System.Windows.Data Error: 6 : 'StringFormat' converter failed to convert value '10' (type 'Double'); fallback value will be used, if available. BindingExpression:Path=Value; DataItem='Slider' (Name='SliderG'); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String') FormatException:'System.FormatException: Format specifier was invalid.
   at System.Number.FormatDouble(Double value, String format, NumberFormatInfo info)
   at System.Double.ToString(String format, IFormatProvider provider)
   at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at System.Windows.Data.BindingExpression.ConvertHelper(IValueConverter converter, Object value, Type targetType, Object parameter, CultureInfo culture)'
'WpfApplication1.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

有人知道吗?

十六进制格式说明符只适用于整数类型。您正试图将其应用于浮动点(
double
)值。如果要将绑定值格式化为十六进制值,则需要将其转换为整数类型(
int
long
,等等)。

有没有简单的方法在XAML标记中进行类型转换?我不这么认为;通常,您会在数据上下文中添加一个新的只读属性,为您进行类型转换。这令人失望。我可以有自己的类型转换器,但我希望框架可以提供一些简单的语法来执行显式类型转换