2013-08-31 22 views
5

mam wiążącą dane pochodzące formularz bazę do ListBoxItem's, poniżej jest kod:Listbox Databinding w WPF

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; 
} 

A w XAML, tam jest kod poniżej:

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

Ale to robi nie działa, wyświetla nazwę tabeli, ale muszę zobaczyć nazwy użytkowników pochodzące z tabeli, w kolumnie TblUsers znajduje się kolumna o nazwie NazwaUżytkownika.

Dzięki z góry.

Odpowiedz

5

spróbować

Tworzenie DataTemplate w sekcji zasobów, a następnie przypisać je do listbox

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

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

     </DataTemplate> 

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

Dzięki @geek to działało, dziękuję bardzo –

0

Ponieważ ItemsSource jest ustawiony już w kodzie tyłu, ustawić DisplayMemberPath do nazwa_użytkownika w 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">

Powiązane problemy