double 型の依存関係プロパティを持つカスタム コントロールがあります。XAML からこのプロパティを設定するとき、このプロパティの値として 12.34 を指定するとします。プロパティがコールバックを変更し、値が 12.3400001525879 になりました。実際の値の末尾にはガベージ 10 進数値が含まれています。
(これは Silverlight には当てはまりません)
これは、XAML で値を設定した場合にのみ発生し、10 進数値が複数ある場合にのみ発生します。
public double Value
{
get { return (double)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}
// Using a DependencyProperty as the backing store for Value. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(double), typeof(TextBoxExt), new PropertyMetadata(null, new PropertyChangedCallback(OnValueChanged)));
private static void OnValueChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.NewValue);//Not priniting the exact value.
}
同じ問題に直面している人はいますか?