我正在努力用DataGrid捕获一个事件.我想要实现的是当用户在datagrid单元格的复选框上单击ONCE时,会触发一个事件并且我可以获取当前单元格值.但是,CellChangedEvent仅在选择更改时触发,并且CellEditingEvent在单元格失去焦点时触发,或者从不触发.如果我通过执行以下操作尝试单击一个可修改的复选框,它就永远不会触发:
<DataGrid Grid.ColumnSpan="2" Grid.Row="1" Grid.Column="0" AutoGenerateColumns="True" ItemsSource="{Binding MasterDataTable, Mode=TwoWay}" CanUserAddRows="False" Margin="10 5" CurrentCellChanged="DataGrid_CurrentCellChanged">
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsEditing" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
如果用户单击单元格内的复选框,我该如何调用方法?提前致谢.
我正在尝试使用PdfRenderer和Coil创建一个可组合的 PDF 查看器,以将位图加载到LazyColumn. 这是我到目前为止得到的:
@Composable
fun PdfViewer(
modifier: Modifier = Modifier,
uri: Uri,
verticalArrangement: Arrangement.Vertical = Arrangement.spacedBy(8.dp)
) {
val loaderScope = rememberCoroutineScope()
val renderer = remember(uri) {
val input = ParcelFileDescriptor.open(uri.toFile(), ParcelFileDescriptor.MODE_READ_ONLY)
PdfRenderer(input)
}
val context = LocalContext.current
val mutex = remember { Mutex() }
val imageLoader = LocalContext.current.imageLoader
BoxWithConstraints(modifier = modifier.fillMaxWidth()) {
val width = with(LocalDensity.current) { maxWidth.toPx() }.toInt()
val height = (width * sqrt(2f)).toInt()
LazyColumn(
verticalArrangement = verticalArrangement
) {
items(
count …Run Code Online (Sandbox Code Playgroud)