2013-08-31 2 views
5

Я связывающий данные, поступающие формы баз данных для ListBoxItem's, ниже код:Listbox Databinding в МОФ

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.

Спасибо заранее.

ответ

5

попробовать это

Создание DataTemplate в разделе ресурсов, а затем присвоить его ListBox

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

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

     </DataTemplate> 

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

Спасибо @geek, это сработало, спасибо большое –

0

Поскольку ItemsSource устанавливается уже в коде позади, установите DisplayMemberPath в UserName в XAML.

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

Смежные вопросы