Wie binde ich die Textboxen zu einen Properties
-
Mache als aufgabe ein Progam das aus der Northwind Datenbank die Daten ausliest. Das auslesen geht ohne probleme und die Daten gehen in ein List<>. Ich habe auch eine hin und zurück button gemacht, der zum navigieren dient, das geht auch. Mein problem ist wie binde ich die textboxen zu der List<>, oder wie binde ich die Textboxen zu einen Properties?
Das auslesen aus der Datenbankvoid read() { using (var nwe = new NORTHWNDEntities()) { var objctx = (nwe as IObjectContextAdapter).ObjectContext; ObjectQuery<Employee> query = new ObjectQuery<Employee>( "SELECT VALUE n from NORTHWNDEntities.Employees as n", objctx); List<Employee> results = query.ToList(); cursor = (CollectionView)CollectionViewSource.GetDefaultView(results); } }
Der vorwärts und rückwärts button
private void buttonNext_Click(object sender, RoutedEventArgs e) { if(cursor.CurrentPosition < cursor.Count -1) { cursor.MoveCurrentToNext(); countposition(); } else { MessageBox.Show("No more data"); } } private void buttonPrevious_Click(object sender, RoutedEventArgs e) { if (cursor.CurrentPosition > 0) { cursor.MoveCurrentToPrevious(); countposition(); } else { MessageBox.Show("No more data"); } }
Die GUI:
<Label x:Name="labelID" Content="ID" HorizontalAlignment="Left" Margin="52,79,0,0" VerticalAlignment="Top"/> <TextBox x:Name="textBoxID" HorizontalAlignment="Left" Height="23" Margin="163,79,0,0" TextWrapping="Wrap" Text="{Binding Path=EmployeeID}" IsReadOnly="True" VerticalAlignment="Top" Width="87"/> <Label x:Name="labelFirstNAme" Content="First Name" HorizontalAlignment="Left" Margin="52,157,0,0" VerticalAlignment="Top"/> <TextBox x:Name="textBoxFirstName" HorizontalAlignment="Left" Height="23" Margin="163,157,0,0" TextWrapping="Wrap" Text="{Binding Path=FirstName}" VerticalAlignment="Top" Width="145"/> <Label x:Name="labelLastName" Content="Last Name" HorizontalAlignment="Left" Margin="52,224,0,0" VerticalAlignment="Top" Width="67"/> <TextBox x:Name="textBoxLastName" HorizontalAlignment="Left" Height="23" Margin="163,224,0,0" TextWrapping="Wrap" Text="{Binding Path=LastName}" VerticalAlignment="Top" Width="145"/> <Label x:Name="labelBirthDate" Content="Birth Date" HorizontalAlignment="Left" Margin="52,307,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.289,0.462" Width="67"/> <TextBox x:Name="textBoxBirthDate" HorizontalAlignment="Left" Height="23" Margin="163,310,0,0" TextWrapping="Wrap" Text="{Binding Path=BirthDate}" VerticalAlignment="Top" Width="145"/> <Button x:Name="buttonNext" Content="Next" HorizontalAlignment="Left" Margin="52,397,0,0" VerticalAlignment="Top" Width="75" Click="buttonNext_Click"/>
-
Das Binding scheint in Ordnung zu sein, du mußt nur den DataContext des Windows setzen:
DataContext = cursor;
-
Danke für die Hilfe jetzt geht alles.