J'utilise le DataGrid suivant
<DataGrid Grid.Row="1" Grid.Column="1" Name="Grid" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="100" Binding="{Binding Path=Name}"></DataGridTextColumn>
<DataGridTextColumn Header="OldValue" Width="100" Binding="{Binding Path=OldValue}"></DataGridTextColumn>
<DataGridTextColumn Header="NewValue" Width="100*" Binding="{Binding Path=NewValue}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Comment puis-je rendre les cellules en lecture seule?
Définissez la propriété IsReadOnly de DataGrid sur true.
<DataGrid Grid.Row="1" Grid.Column="1" Name="Grid" ItemsSource="{Binding}"
IsReadOnly="True" AutoGenerateColumns="False" >
Si vous voulez créer les cellules d'une certaine colonne en lecture seule, vous pouvez définir IsReadOnly pour cette colonne:
<DataGridTextColumn Header="Name" IsReadOnly="True" Width="100" Binding="{Binding Path=Name}"></DataGridTextColumn>
<DataGrid x:Name="dgUsers"
...
$dgUsers = $Form.FindName("dgUsers")
....
# Make all columns cells readonly
$dgUsers.Columns | ForEach-Object { $_.IsReadOnly = $True }