web-dev-qa-db-ja.com

WPF DataGrid:セルを読み取り専用にする

次のDataGridを使用します

<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>

セルを読み取り専用にするにはどうすればよいですか?

49
crauscher

DataGridの IsReadOnly プロパティをtrueに設定します。

<DataGrid Grid.Row="1" Grid.Column="1" Name="Grid" ItemsSource="{Binding}"
    IsReadOnly="True" AutoGenerateColumns="False" >
91
Taylor Leese

特定の列読み取り専用のセルを作成する場合、その列にIsReadOnlyを設定できます。

<DataGridTextColumn Header="Name" IsReadOnly="True" Width="100" Binding="{Binding Path=Name}"></DataGridTextColumn>
0
Parisa
    <DataGrid x:Name="dgUsers" 
    ...
    $dgUsers = $Form.FindName("dgUsers")
    ....
    # Make all columns cells readonly
    $dgUsers.Columns | ForEach-Object { $_.IsReadOnly = $True }
0
Tony Orphanson