2011-09-27 7 views
6

WPF에서 템플릿 열이있는 DataGrid가 있습니다. 그리드의 몇개의 열은 읽기 전용이며, 포커스가있는 다른 것들은 레이블, 텍스트 박스, 체크 박스 등이 아닌 편집 가능한 상태가됩니다.DataGrid 탭 탐색 열 건너 뛰기

달성하고자하는 것은 그리드 열을 이동하면서 읽기 전용 열을 건너 뛰는 것입니다.

누구나이 방법을 알고 있습니까?

감사합니다. 블라


아니, :(

여기 완전한 세포입니다 작동하지 않습니다는 ...

<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

'Enabled' 또는'Focusable' 속성을 사용해 보셨나요? 'DataGrid'에서 그 중 하나를 시도해 본 적이 없지만 한 번 해보는 것이 좋습니다. – CodingGorilla

답변

10

를 작동하지 않았다 ... KeyboardNavigation.IsTabStop 혼자 IsTabStop으로 시도 이런 식으로 작동 할 것입니다 :

<DataGrid.Resources> 
    <Style TargetType="DataGridCell"> 
     <Style.Triggers> 
      <Trigger Property="IsReadOnly" Value="True"> 
       <Setter Property="IsTabStop" Value="False"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</DataGrid.Resources>