我将数据库中的数据绑定到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的列。
先谢谢。
答案 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">