这是我的第一个问题。 我开始使用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倍。答案 0 :(得分:1)
你可以
1)在模板中的复选框中添加一个单击处理程序。在后面的代码中,您可以将复选框的DataContext转换回Role,以确定它是哪一个。
2)您可以为Role类添加某种布尔属性。然后,您可以将复选框的IsChecked属性绑定到此布尔属性。您可能需要在布尔值和被检查属性之间转换binding converter