2012-04-05 8 views
7

Ich habe eine WPF DataGrid für die Dateneingabe verwendet, aber einige DataGridTextColumn sind nur Informationen und ich habe ihre IsReadOnly="True" so eingestellt, dass ihre Zellen nicht in den Bearbeitungsmodus gehen. Sie können jedoch immer noch den Fokus erhalten, den ich vermeiden möchte.Wie mache ich WPF Datagrid Column nicht fokussierbar?

Gibt es eine Möglichkeit, dies zu tun?

Antwort

11

Verwenden Sie einen Zellenstil und legen Sie Focusable = False fest.

<Page.Resources> 
    <Style x:Key="CellStyle" TargetType="{x:Type DataGridCell}"> 
     <Setter Property="Focusable" Value="False"/> 
    </Style> 
</Page.Resources> 

<DataGrid ItemsSource="{Binding Items}" ...> 
    <DataGrid.Columns> 
     <DataGridTextColumn 
      CellStyle="{StaticResource CellStyle}" 
      IsReadOnly="True" 
      Header="Name" Binding="{Binding Name}"/> 

    ....