wpf中的列表框数据绑定

时间:2013-08-31 11:23:18

标签: c# wpf xaml listbox

我将数据库中的数据绑定到ListBoxItem's,下面是代码:

public void load_users()
{
    RST_DBDataContext conn = new RST_DBDataContext();
    List<TblUser> users = (from s in conn.TblUsers
                                  select s).ToList();
    Login_Names.ItemsSource = users;
}

在XAML中,有以下代码:

<ListBox Name="Login_Names" 
         ItemsSource="{Binding Path=UserName}"
         HorizontalAlignment="Left" 
         Height="337" Margin="10,47,0,0"
         Padding="0,0,0,0" VerticalAlignment="Top" Width="156">

但它不起作用,它显示表名,但我需要看到来自表的用户名,在TblUsers中有一个名为UserName的列。

先谢谢。

2 个答案:

答案 0 :(得分:7)

试试这个

在资源部分创建DataTemplate,然后将其分配给列表框

<Grid.Resources>
        <DataTemplate x:Key="userNameTemplate">

                <TextBlock Text="{Binding Path=UserName}"/>

        </DataTemplate>

 <ListBox Name="listBox" ItemsSource="{Binding}"
            ItemTemplate="{StaticResource userNameTemplate}"/>

答案 1 :(得分:0)

由于ItemsSource已在代码中设置,因此在XAML中将DisplayMemberPath设置为UserName。

<ListBox Name="Login_Names" 
     DisplayMemberPath="UserName"
     HorizontalAlignment="Left" 
     Height="337" Margin="10,47,0,0"
     Padding="0,0,0,0" VerticalAlignment="Top" Width="156">