Wie zur Anzeige von Prozent-Werten mit ContentStringFormat?
Grüße an den erleuchteten!
Ich hab das Spiel auf dieser für mehrere Stunden jetzt, aber war nicht erfolgreich (vielleicht, weil ich bin ganz neu in WPF):
Ich habe ein DataGrid, dessen DataContext ist an eine DataTable gebunden. Das DataGrid hat eine festgelegte Größe, und Ihr Zweck ist zu halten, ein Wert Tabelle y(x) (d.h. die überschriften zeigen die x-Werte und die zugehörigen y-Werte werden aus der Zwischenablage eingefügt und erscheinen in der ersten DataGridRow). So weit So gut. Die Werte eingefügt werden (zugewiesen als strings an dataTable.Zeilen[0][i] wo i=0...n) perfekt und gut dargestellt.
Aber die zahlen dargestellt sind die Prozent-Werte, und ich will, dass Sie als solche dargestellt:
"0.18" werden die "18 %"
So, ich habe beschlossen, das zu bewältigen Sie einen Stil, die angewendet werden, um alle DataGridCell Objekte:
<Style TargetType="{x:Type Controls:DataGridCell}">
<Style.Setters>
<Setter Property="ContentStringFormat" Value="{}{0:P}"/>
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="Background" Value="Yellow"/>
</Style.Setters>
</Style>
Dann die hintergrund-und Vordergrund-Farben werden angenommen in Ordnung, aber die zahlen sind noch immer angezeigt wird, als Dezimalzahlen (z.B. "0.18" immer noch liest "0.18".
Wie kann ich dieses Problem beheben?
Vielen Dank im Voraus
Jörg
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie können angeben, StringFormat zusammen mit der verbindlichen definition der datagrid-Spalte. Smth. wie diese:
hoffe das hilft, Grüße
Ich denke, das problem ist, dass der Datentyp, den Sie versuchen zu formatieren ist keine Zahl. Versuchen Sie, die Tabelle Daten zu verdoppeln oder einen anderen numerischen Typ.
Hier ist ein Beispiel, um meinen Standpunkt darzustellen: