我的 xaml 中有一个ListView
,它的 ItemsSource 和 SelectedItem 属性绑定到 ViewModel。
Xaml
<ListView ItemsSource="{Binding SitesCollection}" SelectedItem="{Binding SelectedSite, Mode=TwoWay}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding url}"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
视图模型
public ObservableCollection<AWRestrictedSite> _SitesCollection;
public ObservableCollection<AWRestrictedSite> SitesCollection
{
get
{
//populate collection
return _SitesCollection;
}
}
public AWRestrictedSite _SelectedSite;
public AWRestrictedSite SelectedSite
{
get
{
return _SelectedSite;
}
set
{
_SelectedSite = value;
//do some stuff
}
}
由于某种原因,当页面加载时,它会选择 ListView 中的第一项。以下是页面加载时发生的情况:
- 进入 SitesCollection 被调用,(它填充列表视图并返回集合)。
- Get inside SelectedSite被调用,返回null
- 在 SelectedSite 内部设置被调用,它将值设置为第一项
有谁知道为什么会发生这种情况?