Dictionary需要指定的Value是一个Object,如Student类。 ListView需要支持右键菜单。 每个条目要有Checkbox表示是否选中。 给出前台代码: <Page x:Class="CET.ExamViewer.PageControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="PageMain"> <Page.Resources> <DataTemplate x:Key="checkbox"> <CheckBox IsChecked="{Binding IsSelected, RelativeSource= {RelativeSource AncestorType=ListViewItem}}" Margin="0,1,1,1" > </CheckBox> </DataTemplate> </Page.Resources> <Grid Width="Auto"> <Grid.RowDefinitions> <RowDefinition Height="36"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Grid.Row="0"> <Button Content="全 选" x:Name="ButtonSelectAll" Click="ButtonSelectAll_Click" Width="60" Height="25" Margin="3,3,1,1" ></Button> <Button Content="全不选" Width="60" Height="25" Margin="3,3,1,1" ></Button> <Button Content="反 选" Width="60" Height="25" Margin="3,3,1,1" ></Button> </StackPanel> <StackPanel Grid.Row="1"> <ListView x:Name="LvInfoForView" ItemsSource="{Binding Value}"> <ListView.ContextMenu> <ContextMenu> <MenuItem Header="GridView" Click="SwitchViewMenu"/> <MenuItem Header="IconView" Click="SwitchViewMenu"/> <MenuItem Header="TileView" Click="SwitchViewMenu"/> <MenuItem Header="OneButtonHeaderView" Click="SwitchViewMenu"/> </ContextMenu> </ListView.ContextMenu> <ListView.View> <GridView ColumnHeaderToolTip="客户端和学生信息" AllowsColumnReorder="true" > <GridViewColumn Header="选中否" CellTemplate="{StaticResource checkbox}"/> <GridViewColumn Header="序号" DisplayMemberBinding="{Binding Path=Value.SortIndex}" Width="50"/> <GridViewColumn Header="学生姓名" DisplayMemberBinding="{Binding Path=Value.StudentName}" Width="100"/> <GridViewColumn DisplayMemberBinding="{Binding Key}" Width="100"> <GridViewColumnHeader> 客户端地址 <GridViewColumnHeader.ContextMenu> <ContextMenu MenuItem.Click="LastNameCM_Click" Name="LastNameCM"> <MenuItem Header="Ascending" /> <MenuItem Header="Descending" /> </ContextMenu> </GridViewColumnHeader.ContextMenu> </GridViewColumnHeader> </GridViewColumn> <GridViewColumn DisplayMemberBinding="{Binding Path=Value.ClientState}" Header="客户机状态" Width="100"/> </GridView> </ListView.View> </ListView> </StackPanel> </Grid> </Page>