Was ist die richtige DataTrigger-Bindung für DataContext-Eigenschaften? Ich habe einen Datenraster, die wie folgt gebunden ist:WPF DataGrid DataTrigger-Bindung an DataContext-Eigenschaft
XAML:
<DataGrid x:Name="dataGrid" Grid.Row="4" Grid.ColumnSpan="2"
ItemsSource="{Binding}"
CellStyle="{StaticResource RowStateStyle}"
>
</DataGrid>
In CS- das Gitter auf eine Datentabelle gebunden ist, daher die Datacontext für eine Zelle ist DataRowView, Reihe als Eigenschaft enthält:
// DataTable containing lots of rows/columns
dataGrid.DataContext = dataTable;
Edit:
zu Ashs Lösung verweis bearbeitet ich den Stil und setzen in Trig gers für Unverändert und Geändert:
Auslösen auf Content.Text funktioniert tadellos, so tut Unchanged. Wenn ich jedoch eine Zelle ändere (also DataRowState = Modified), passiert nichts und die Farbe bleibt grün. Irgendeine Lösungsmöglichkeit?
leider immer noch da bin ich noch nicht. Siehe meinen bearbeiteten Post. – ray
@ray, meine Vermutung ist, dass 'DataRow' kein Ereignis oder keine Benachrichtigung auslöst, wenn' RowState' sich ändert. kann nicht überprüfen oder schlagen Sie jetzt keine Lösung – ASh
, wenn ich das Gitter "neu zeichnen" (z. B. Umsortieren), Änderungen werden visualisiert. Also entweder ein kleiner Hack: Zeichnen Sie die Zeile neu, wenn sich eine Zelle ändert oder vielleicht die Lösung [von hier] (http://stackoverflow.com/questions/5798936/inotifypropertychangear-or-otificycollectionchanged-with-datatable). Dies wird jedoch sehr ärgerlich sein, anstatt einfach ein Event wie DataGrid_CellEditEnding auszulösen und ändert nur die Farben code-weise (nur 3 Zeilen Code). Was sagst du? – ray