Hallo zusammen,
ich habe die Situation, dass ich eine generische Liste an das DataGrid gebunden habe und das funktioniert auch super und ohne Probleme. Nun habe ich jedoch einen Wert aus der Liste, der eine weitere Verarbeitung benötigt, genauer gesagt muss ich in einer weiteren Liste nach einem korrespondierenden Wert suchen.
Ich dachte mir das ich dies über eine Methode mache, die Methode "irgendwie" an das DataGrid binde und im Binding dann den Wert übergeben kann? Hierbei geht um den Wert MA (Mitarbeiter) - siehe unten.
Bin ich damit völlig auf dem Holzweg oder ist das möglich?
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="12,66,0,0" Name="data" VerticalAlignment="Top" Width="607" DataContext="{Binding}" CanUserAddRows="False" CanUserDeleteRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Datum" Binding="{Binding Path=Zeitstempel, StringFormat=dd.MM.yyyy}" IsReadOnly="True" />
<DataGridTextColumn Header="Uhrzeit" Binding="{Binding Path=Zeitstempel, StringFormat=HH:mm:ss}" IsReadOnly="True" />
<DataGridTextColumn Header="MA" IsReadOnly="True" />
<DataGridTextColumn Header="Status" Binding="{Binding Path=Status}" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
Du kannst im getter Methoden ausführen lassen.
Unabhängig davon ist dein Code da nicht sehr schön an zu sehen -.- Man sieht auf einen Blick viele Fehler.
Hallo David,
vielen Dank für deine Antwort. Du hast Recht, im Getter kann ich Methoden bzw. Logik ausführen lassen und würde so an die Inhalte kommen. Allerdings verwendet ich die generische Liste und die damit verbundenen Klassen nur zur reinen Datenhaltung. Sobald Logik dort vorhanden ist würde ich dagegen verstoßen. Gibt es noch eine andere Möglichkeit?
Ich finde mein Code bzw. mein Xaml für die ersten Schritte ganz in Ordnung, zumindest tut er das was er soll. Wenn du allerdings der Meinung bist das man es besser machen kann, dann bin ich gerne offen für die Vorschläge.
Allerdings verwendet ich die generische Liste und die damit verbundenen Klassen nur zur reinen Datenhaltung.
Das ist unter WPF sehr suboptimal.
Es ist empfehlenswerter, ein ViewModel dazwischen zu legen, das genau diese "Vermittlung" übernimmt - die Datenklasse kann dann unberührt bleiben.