在这里全新的和全新的WPF数据格力。
我已经在所有打开的关于Datagrid的线程中搜索,但是我找不到关于我的问题的任何答案。
我在试着把数据显示到数据中。到目前一切尚好。我试着让用户选择数据集中的单元格。到目前一切尚好。我想禁用特定列上的选择单元格。
参见链接中的图像。
如何禁用扭矩列或平均列上的选择单元格,并允许用户仅在列Mes1
Mes2
Mes3
上选择单元格?
发布于 2017-06-26 02:27:47
如果要防止选定某些列中的单元格,则可以使用DataGridCell
样式将这些单元格的IsHitTestVisible
属性设置为true
。
<DataGrid x:Name="dataGrid1">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Torque">
<Setter Property="IsHitTestVisible" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Average">
<Setter Property="IsHitTestVisible" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
</DataGrid>
我只是在玩密码。但是,当我在例如Mes 1列中单击一个单元格,然后使用键盘导航时,列扭矩和平均值的单元格可以聚焦:-(
我猜您必须将IsEnabled
属性设置为false
:
<DataTrigger Binding="{Binding Column.Header, RelativeSource={RelativeSource Self}}" Value="Torque">
<Setter Property="IsHitTestVisible" Value="False"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
发布于 2017-06-26 02:16:47
可以使用CellTemplate,在下面的示例中,其中一个列单元格将是一个图像:
<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTemplateColumn Header="Image" Width="SizeToCells" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Image}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
https://stackoverflow.com/questions/44757277
复制相似问题