我在WPF中有一个带有模板列的数据网格。网格中的几列是只读的,焦点上的其他列变得可编辑(而不是标签,文本框,复选框等)。
我想要实现的是当我浏览网格的列时跳过readonly列。
任何人都知道如何实现这一目标?
谢谢! 弗拉丹
不,不工作:(
这是完整的单元格...单独使用KeyboardNavigation.IsTabStop和IsTabStop尝试了...无法正常工作
<DataGridTemplateColumn Header="{x:Static local:MainWindowResources.gasNameLabel}" Width="*" MinWidth="150" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl Content="{Binding Path=Name}" ContentTemplate="{StaticResource DataGridTextBoxView}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="true">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
答案 0 :(得分:13)
这样的事情会起作用:
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="IsTabStop" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>