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 Datenbank

    void 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.


Anmelden zum Antworten