Ich habe eine WPF-Anwendung, um eingehende Bytes aus einem seriellen Stream anzuzeigen. Ich möchte diese Bytes in einem Benutzersteuerelement anzeigen, das Änderungen zulässt (d. H. Bytewertänderungen bedeuten Hintergrundfarbenänderungen, um Benutzer zu warnen, der Benutzer wählt Daten als Hex/Dezimal/Binär aus). Bisher hat ich eineViewModel oder ValueConverter für WPF View
ObservableCollection<ByteDisplay>
wo ByteDisplay
einen WPF-User Control zu einem Datenmodell mit einigen relevanten Eigenschaften gebunden ist: Displayformat (Enum Hex/Binär/Dezimal), Daten (die tatsächliche Byte Wert) und BgColor (eine Zeichenfolge, die eine Systemfarbe darstellt, um anzuzeigen, dass sich ein Wert geändert hat).
Mein Problem ist, dass ich den DataContext der ByteDisplay
vollständig ersetzen muss, um Änderungen zu erhalten, die in der Gesamtansicht angezeigt werden, die diese Auflistung enthält. Ich denke, ich könnte das mit einem ValueConverter für die Sammlung von Rohbytes umgehen, anstatt die Änderung im ViewModel der Aggregate View abzuschließen, aber ist das der richtige Ansatz?
Erstellen Sie keine beobachtbaren Sammlungen von UI-Elementen, Sie sollten eine strikte Trennung von Daten und Ansichtskomponenten haben. –