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
不使用数据绑定的设置器。
这当然也是一个要求。
它是一个只读列表:只有选定项必须是数据绑定的,而不是任何值。