Hallo zusammen.
Ich versuche mich gerade an einem Adressbuch in WPF, welches ich möglichst schon in MVVM umsetzen möchte um das ganze zu verstehen.
Der Sinn eines Adressbuches sei dahingestellt, es dient mir allein zu Übungszwecken da ich dort alles mögliche ausprobieren kann.
Nun ich habe mir folgende Struktur angelegt:
Das Model sieht wie folgt aus:
Das ViewModel:
Nun kann ich aber das ViewModel nicht im View ansprechen, also Intellisense bietet es mir nicht an wenn ich eine
Somit kann ich später dann auch nicht auf die einzelnen Propertys der Personen zugreifen.
Habe ich etwas vergessen, oder ist mein ViewModel falsch. Fehlen da noch Propertys?
Zusätzlich hänge ich mal das Projekt mit an.
Ich versuche mich gerade an einem Adressbuch in WPF, welches ich möglichst schon in MVVM umsetzen möchte um das ganze zu verstehen.
Der Sinn eines Adressbuches sei dahingestellt, es dient mir allein zu Übungszwecken da ich dort alles mögliche ausprobieren kann.
Nun ich habe mir folgende Struktur angelegt:
Das Model sieht wie folgt aus:
VB.NET-Quellcode
- Public Class Person
- Public Sub New()
- End Sub
- Public Sub New(vorname As String, nachname As String, strasse As String, plz As Integer, ort As String)
- Me.Vorname = vorname
- Me.Nachname = nachname
- Me.Strasse = strasse
- Me.PLZ = plz
- Me.Ort = ort
- End Sub
- Private _vorname As String
- Public Property Vorname() As String
- Get
- Return _vorname
- End Get
- Set(ByVal value As String)
- _vorname = value
- End Set
- End Property
- Private _nachname As String
- Public Property Nachname() As String
- Get
- Return _nachname
- End Get
- Set(ByVal value As String)
- _nachname = value
- End Set
- End Property
- Private _strasse As String
- Public Property Strasse() As String
- Get
- Return _strasse
- End Get
- Set(ByVal value As String)
- _strasse = value
- End Set
- End Property
- Private _plz As Integer
- Public Property PLZ() As Integer
- Get
- Return _plz
- End Get
- Set(ByVal value As Integer)
- _plz = value
- End Set
- End Property
- Private _ort As String
- Public Property Ort() As String
- Get
- Return _ort
- End Get
- Set(ByVal value As String)
- _ort = value
- End Set
- End Property
- Public Overrides Function ToString() As String
- Return $"{Vorname} , {Nachname}"
- End Function
- End Class
Das ViewModel:
VB.NET-Quellcode
- Imports System.Collections.ObjectModel
- Imports Model
- Public Class MainViewVm
- Public Sub New()
- AllePersonen = New ObservableCollection(Of Person) From {New Person With {.Vorname = "Max", .Nachname = "Mustermann", .Strasse = "Musterweg 21", .PLZ = 12345, .Ort = "Musterdorf"},
- {New Person With {.Vorname = "Maxi", .Nachname = "Musterfrau", .Strasse = "Musterstrasse 21", .PLZ = 12354, .Ort = "Musterstadt"}}}
- End Sub
- Private _allepersonen As ObservableCollection(Of Person)
- Public Property AllePersonen() As ObservableCollection(Of Person)
- Get
- Return _allepersonen
- End Get
- Set(ByVal value As ObservableCollection(Of Person))
- _allepersonen = value
- End Set
- End Property
- End Class
Nun kann ich aber das ViewModel nicht im View ansprechen, also Intellisense bietet es mir nicht an wenn ich eine
Listbox
an AllePersonen
binden möchte.Somit kann ich später dann auch nicht auf die einzelnen Propertys der Personen zugreifen.
Habe ich etwas vergessen, oder ist mein ViewModel falsch. Fehlen da noch Propertys?
Zusätzlich hänge ich mal das Projekt mit an.
Rechtschreibfehler betonen den künstlerischen Charakter des Autors.