2

Extended WPF Toolkit の PropertyGird を使用しています。必要なことはほとんどできましたが、数値をフォーマットできません。

プロパティがdoubleあり、それを 2 桁の 10 進数で表示したい (その文字列形式は である必要があります"F2")。属性を入れてみました[DisplayFormat(DataFormatString = "{F2}")]が、効果がないようです (まだ 10 桁の番号があります)。

私は何か間違ったことをしていますか?すべてのプロパティをそのようにフォーマットするタイプの CustomEditor を本当に作成する必要がありますか?doubledouble

どんな助けでも大歓迎です!

編集: プロパティは、グリッドの AutoGenerateProperties オプションを使用して自動的にバインドされます。明示的なバインディングはありません。可能であればこのままにしておきたいのですが、強制ではありません。

4

2 に答える 2

0

私はそれを行う方法を1つしか見つけることができませんでした(非常に汚い):

void PropertyGrid_SelectedObjectChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    foreach (var p in pg.Properties)
    {
        if (p.PropertyType == typeof(double)) // or filter by p.Name
            p.Value = string.Format("{0:F2}", p.Value);
    }
}
于 2012-11-15T16:09:33.187 に答える