I created a sample where I bound the ItemsSource of the DataGrid to an ObservableCollection and from here you have two options.
- Set AutoGenerateColumns="False" on the DataGrid and set IsReadOnly="True" for all columns except the column you want to be editable you will set IsReadOnly="False".
- AutoGenerateColumns="True" (it is the default, so you could just remove the attribute from the XAML) and make the setters private in your ViewModel for all of the properties except the column you want to be editable.
Here is my sample code for option 1: