Ich habe meine erste Mono-Anwendung auf einem Raspberry Pi ausgeführt. Das Problem besteht darin, dass die Datenbindung die Benutzeroberfläche nicht aktualisiert hat. Um genauer zu sein, ist das PropertyChanged-Ereignis in meinem Controller/Modell null. Das heißt, es gibt keinen Abonnenten.Winforms Datenbindung und INotifyPropertyChanged auf Mono
Wenn ich die Anwendung auf Windows innerhalb des Visual Studio Debugger ausführen, wird die UI ordnungsgemäß aktualisiert.
Mono-Version: 4.6.2 OS: Raspbian Wheezy .NET: 4.5
Ich habe nicht viele Informationen über dieses Szenario gefunden. Da es unter Windows funktioniert und mono die INotifyPropertyChanged-Schnittstelle unterstützt, ging ich davon aus, dass es auch in Mono unter Linux läuft.
// creating the binding in code dhtControl.labelName.DataBindings.Add("Text", dht, "Name");
Ich glaube, es gibt keinen anderen Code ist erforderlich, da es die Standardimplementierung INotifyPropertyChanged ist. Der einzige Unterschied besteht darin, dass ich eine Aktion (control.Invoke) an das Modell übergebe, um das Update im Hauptthread aufzurufen.
Grüße
Haben Sie das herausgefunden? Ich stoße auf dasselbe Problem. – Kohanz
Ich habe festgestellt, dass beim Hinzufügen von Datenbindungen sie nicht mit Mono zum PropertyChangedEvent registriert werden, sondern mit .Net. Noch immer keine Ahnung warum. – soulsource