Frage

Ich arbeite in Silverlight, um herauszufinden, wie eine Rasterzelle Schriftfarbe eingestellt basierend auf dem Inhalt der Zelle.

Ich habe eine ObservableCollection an ein Datagrid gebunden ist, und meine Artikel INotifyPropertyChanged so die Gitter Updates implementieren, wie ich die Werte ändern; es ist alles perfekt, Arbeits mich sort Elemente, einschließlich der Vermietung und halten Sie die Sortierung, während ich die zugrunde liegenden Elemente aktualisieren.

Ich weiß, dass ich das LoadingRow Ereignis zu ändern Farben verwenden kann, aber der einzige Weg, ich das Ereignis zu Feuer kommen kann, ist durch die Gitter-Datenquelle zu ändern, wobei in diesem Fall meine Sortierung geht aus dem Fenster.

Also, was ich wirklich will, ist eine Möglichkeit, entweder

  1. Schleife der Zeilen in der Datagrid, finden Sie die Zelle ich brauche, und ändern es die Farbe oder
  2. eine benutzerdefinierte implementieren Spalte, dass ich dynamisch verwenden kann legen Sie die Farbe.

Das Problem ist, wie man tatsächlich tun eine dieser beiden Dinge :).

War es hilfreich?

Lösung

Sie sollten die Datenbindung für diese.

  1. Bind Ihr Handy Schriftfarbe auf den Inhalt der Zelle
  2. Erstellen Sie einen Konverter IValueConverter dass wandelt den Wert in eine Farbe von je nach Bedarf

Sehen Sie hier für ein gutes Beispiel
http: // weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top