Ich habe ein DataGrid und möchte statt den ID´s für Artikel-Typen, den entsprechenden Text anzeigen lassen.
Habe dafür im XAML folgende angelegt
<UserControl.Resources>
<!-- Die Listen für die Comboboxen--> <CollectionViewSource x:Key="ArtTypes" Source="{Binding ArticleTypesList}" />
</UserControl.Resources>
Hier der entsprechende Code aus dem ViewModel
''' <summary> ''' Verwaltet die Liste der Einträge ''' </summary> ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> Public Property ArticleTypesList As ObservableCollection(Of Entities.Articles.GroupList) Set(value As ObservableCollection(Of Entities.Articles.GroupList))
End Set Get If _ArticleTypesList Is Nothing Then _ArticleTypesList = _DomainModel.GetGroupList(CommonEnums.Groups.ArticleTypes) Me.OnPropertyChanged("ArticleTypeList") End If Return _ArticleTypesList End Get End Property Private _ArticleTypesList As ObservableCollection(Of Entities.Articles.GroupList)
Nun wollte ich mit folgenden Code im DataGrid erreichen, dass die Werte angezeigt werden
Ich persönlich versuche es immer zu vermeiden, das Entitäten aus einem OR-Mapper den View direkt erreichen. Dafür sind in meine Augen die Models dar, die eben die Daten abbilden, die der View benötigt.
2.) Das OnPropertyChanged im Getter ist so gewollt? Dies sollte eher in den Setter.
Das die ComboBox erst angezeigt wird, wenn man in die Zelle klickt, ist denke ich ein Feature des DataGrids, damit nicht hunderte ComboBoxen angezeigt werden. Wird denn ein Wert angezeigt, nachdem du Ihn ausgewählt hast?
Aktiviere mal das Tracing is VS, was werden dir denn da für Fehler angezeigt?
2.) Das OnPropertyChanged im Getter ist so gewollt? Dies sollte eher in den Setter.