xaml 视图:
<DataGrid x:Name="dgInstances" SelectedItem="{Binding Path=Instance, Mode=OneWay}"
            ItemsSource="{Binding Instances}"> SelectionMode="Single"> ... etc.
视图模型:
public List<string> Instances
string instance;
public string Instance
{
    get
    {
        if (instance == null && instances.HasItems())
        {
            instance = instances[0];
        }
        if (instance != null)
        {
            return instance;
        }
        return null;
    }
    set
    {
        instance = value;
    }
}
视图模型类实现INotifyPropertyChanged并在Instances获取后我给出  RaisePropertyChanged("Instance");. 
实例正确显示在数据网格中,但未选择第一项。
我不想添加SelectedIndex=0,因为它必须通过绑定。
而当我更改数据网格中的选择时,Instance不使用数据绑定的设置器。
这当然也是一个要求。
它是一个只读列表:只有选定项必须是数据绑定的,而不是任何值。