| |
VB.NET - Ein- und UmsteigerDataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 18:22 |
| Hallo,
ich habe in meiner Silverlight-Applikation ein DataGrid welches seine Daten aus einer ObservableCollection bezieht. Jedoch wenn ich daten in der Collection ändere, verändert sich nichts an dem DataGrid. Selbst wenn ich das hier versuche:
DataGrid.ItemSource = Nothing
DataGrid.ItemSource = PersonList | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: FZelle (Moderator) | Datum: 08.06.09 18:31 |
| Und die Objekte in der ObservableCollection haben auch INotifyPropertyChanged implementiert? | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 18:38 |
| Laut MSDN ist diese implementiert. Deshalb habe ich auch die ObservableCollection anstatt einer List(Of T) genommen.
//Edit:
Komischerweise funktioniert es wenn ich, direkt im Click-Event, mal testweise einfach fest etwas in die Collection einfüge.
Beitrag wurde zuletzt am 08.06.09 um 18:47:47 editiert. | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: FZelle (Moderator) | Datum: 08.06.09 19:20 |
| ?
Du musst in deinen Businessobjekten INotifyPropertyChanged implementieren, damit
die ObservableCollection das abfangen kann. | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 19:29 |
| Ich verstehe gerade nicht genau was du meinst?
Es funktioniert ja wenn ich z.B. direkt von meiner Hauptseite im OnClick-Event etwas hinzufüge:
dim PersonList as New ObservableCollection(Of Person)
Private Sub AddPerson_Click(ByVal sender As System.Object, ByVal e As _
System.Windows.RoutedEventArgs)
PersonList.Add(New Person() With {.FirstName = "Vorname", .LastName = _
"Nachname", .Age = "23", .StartDate = New DateTime(2007, 8, 1), _
.IsFullEmployee = False})
End Sub Dabei wird das DataGrid auch automatisch aktualisiert. Jedoch wenn ich diese Funktion von einem Popup-Fenster ausrufe funktioniert dies nicht :
Public Sub AddPersonFromPopUp(ByVal strFirstName As String, ByVal strLastName _
As String, ByVal intAge As Integer, ByVal bolIsFullEmployee As Boolean)
PersonList.Add(New Person() With {.FirstName = strFirstName, .LastName = _
strLastName, .Age = intAge, .IsFullEmployee = bolIsFullEmployee})
End Sub Da dürfte doch kein Unterschied sein, ob ich "PersonList.Add()" jetzt von der Hauptseite oder einem Popup ausführe, oder etwa nicht?
Könnte es daran liegen, das ich auf der Popup-Seite die Haupseite mit:
Dim MainPage as New Page()
MainPage.AddPersonFromPopup(...) neu instanziere?
Beitrag wurde zuletzt am 08.06.09 um 19:32:10 editiert. | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 20:14 |
| @DaveS: Und wie kann ich das in dem Fall umgehen?
Aber wieso wird dann die Collection korrekt gefüllt, nur das DataGrid nicht? | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 21:02 |
| Korrigiert mich wenn ich etwas falsch verstehe, aber muss ich in dem Fall dann die Collection in der Hauptseite als Shared deklarieren damit ich vom Popup aus mit "Page.PersonList" darauf zugreifen kann?
Weil vom Popup aus kann ich ohne erstellen von neuen Instanzen nur auf die Shared Member der Page-Klasse zugreifen. | |
Re: DataGrid in Silverlight aktualisiert sich nicht. | | | Autor: chrixko | Datum: 08.06.09 21:11 |
| Alles klar, Vielen Dank!
Habt mir sehr geholfen. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|