我添加了一个班级对象列表"员工"在ListView上,我希望它只显示属性" Name"在它上面,但是当选择该项目时,我希望它能够捕获对象" Employee"添加到另一个列表。
这是我的代码。它在ListView上显示对象Employee。我希望它显示属性名称。
private void PopulateEmployeeList()
{
List<Employee> staff = Presenter.GetEmployee();
foreach (Employee person in staff)
lstEmployee.Items.Add(person);
}
XAML
<Border Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" Width="230" >
<ListView Name="lstFuncionarios" />
</Border>
答案 0 :(得分:1)
您可以为ListView定义ItemContainerStyle:
<ListView Name="lstFuncionarios">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<TextBlock Text="{Binding Name}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
如果你不知道ListViewItem的最终面,这个解决方案很好,所以你可以在你想要的时候重写它。
如果您只需要显示名称而不需要其他内容 - @S_Lord的解决方案很好:
lstFuncionarios.DisplayMemberPath = "Name";
或
<ListView Name="lstFuncionarios" DisplayMemberPath="Name"/>
希望,这有帮助
答案 1 :(得分:1)
您可以尝试使用xaml:
<ListView x:Name="lv" HorizontalAlignment="Left" Height="149" Margin="359,111,0,0" VerticalAlignment="Top" Width="138">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}"/>
</GridView>
</ListView.View>
</ListView>