WPF ListView问题

时间:2009-06-16 14:56:49

标签: .net wpf listview

这是我的第一个问题。 我开始使用WPF而且我被卡住了。这是问题所在: 我有一个ListView如下:

<UserControl.Resources>
    <DataTemplate x:Key="FirstCell">
        <StackPanel Orientation="Horizontal">
            <CheckBox Margin="2"></CheckBox>
        </StackPanel>
    </DataTemplate>
</UserControl.Resources>

<ListView Name="lvRights">
    <ListView.View>
        <GridView>
            <GridViewColumn Width="100" Header="Select" CellTemplate="{StaticResource FirstCell}"/>
            <GridViewColumn Width="200" Header="Right" DisplayMemberBinding="{Binding Path=Name}" />
        </GridView>       
    </ListView.View>
</ListView>

我将列表绑定到“角色”的集合,其中 ID和名称。 我正在使用DataTemplate在第一列中显示一个复选框。

以下是问题:

我怎样才能在运行时知道用户是否选中了其中一​​个复选框?在列表视图的.Items属性中,我有角色,但我无法获得有关第一列的任何信息。

我觉得这很简单,但不知怎的,我错过了答案。

提前10倍。

1 个答案:

答案 0 :(得分:1)

你可以

1)在模板中的复选框中添加一个单击处理程序。在后面的代码中,您可以将复选框的DataContext转换回Role,以确定它是哪一个。

2)您可以为Role类添加某种布尔属性。然后,您可以将复选框的IsChecked属性绑定到此布尔属性。您可能需要在布尔值和被检查属性之间转换binding converter