如何绑定列表中的文本框

本文关键字:文本 列表 何绑定 绑定 | 更新日期: 2023-09-27 17:57:10

我只需要绑定文本框。我创建了一个下一个和上一个按钮,它有效,但文本框上没有任何内容。我做错了什么?如何从列表中获取项目?

从数据库中读取:

   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);
        }
    }
    private void countposition()
    {
        labelRead.Content = "Read " + (cursor.CurrentPosition + 1) + " to " + cursor.Count; 
    }
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");
         }
    }

用于绑定数据的 UI 代码:

<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"/>

如何绑定列表中的文本框

抱歉,

我喝了几杯啤酒,但 TextBox 只接受一个值,通常 id est 。Text="oneStringInstanceOnly"。您希望将List<>(具有多个值/对象/字符串/类)绑定到通常接受一个(通常是字符串)值的文本框,这就是为什么您无法将包含多个值的列表绑定到接受一个值的TexBox的原因。文本框不是接受多个值/数据表的数据网格视图或列表框。甚至可以用列表 myTextBox = (myList!=null && myList.Count!=0)?myList[0] 中的第一个值为 TexBox 分配。ToString():"NoMoreValues";