2009-02-23 59 views
6

我在WPF应用程序列表框为:显示自定义对象数据,列表框WPF

<ListBox HorizontalAlignment="Left" Margin="16,37,0,16" Name="lbEmpList" Width="194" SelectionChanged="lbEmpList_SelectionChanged" FontSize="12" SelectionMode="Single"> 

</ListBox> 

我有三个按钮:添加,删除和更新,将添加,删除和更新项目列表框中。我将项目添加到ListBox我的自定义类对象名称objEmployee。 此自定义类包含几个属性:Id,Name,Address。
但是,当我的对象添加到列表框,然后它会显示的项目,如

<Namespace Name>.<Custom Object name> 

我如何可以绑定任何对象属性的这个列表框在设计或运行时间acheive我的功能?

回答

24

两个选择:

首先,最简单的选择是ListBox的DisplayMemberPath属性设置为自定义对象的属性。如果您想对在随即出现的每个项目(包括自定义布局等)的数据更多的控制

<ListBox DisplayMemberPath="LastName" ... /> 

那么你要定义一个DataTemplate为:所以,如果你的员工类有一个名字属性,你可以这样做列表框中的每个项目。要做到这一点,最简单的方式是通过简单的设定ListBox的ItemTemplate属性:

<ListBox ...> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock Text="{Binding FirstName}" /> 
       <TextBlock Text="{Binding LastName}" /> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

必须通过我提供,并检查了一些MSDN上的示例代码的链接读取。