我在列表视图中有一个复选框:
<ListView x:Name="listCertificate" HorizontalAlignment="Left" Margin="15,15,0,0" VerticalAlignment="Top" Width="350">
<ListView.View>
<GridView AllowsColumnReorder="true" ColumnHeaderToolTip="InfoPaquet">
<GridViewColumn Header="Checked">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Checked}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding NotBefore}">
<GridViewColumnHeader>Valid From</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding NotAfter}">
<GridViewColumnHeader>Valid To</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Subject}">
<GridViewColumnHeader>Subject</GridViewColumnHeader>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
现在我也想添加一项功能,当我选中一个复选框时,所有其他复选框都将被禁用。基本上一次只能勾选一个复选框。
我的问题是如何获得我单击的一个复选框:
$hash.listCertificate = $hash.Window.FindName('listCertificate')
$hash.listCertificate.Add_PreviewMouseLeftButtonDown({
param([System.Object]$sender, [System.EventArgs]$Event)
Write-Host $Event.OriginalSource.text
Write-Host $Event.SelectedIndex
})
hash.listCertificate.View.Columns[0].Add_Click({
HandleCheckBoxChecked $_
})
我尝试了不同的方法,但它们都是错误的。另外我不太确定如何了解像 Add_Click 这样的函数。
尝试:
<GridViewColumn Header="Checked">
<GridViewColumn.CellTemplate>
<DataTemplate>
<RadioButton IsChecked="{Binding Checked}"
GroupName="listCertificateGroup"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>