我的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中的第一个项目。以下是页面加载时发生的情况:
有谁知道为什么会发生这种情况?
答案 0 :(得分:0)
它是一个双向绑定,加载时,ListView
(我认为)选择其绑定集合中的第一个项目。尝试将Loaded
方法添加到ListView
并在其中设置SelectedItem
。这应该在选择第一个项目后发生。
答案 1 :(得分:0)
当我们将SelectedItem
的{{1}}设置为ListView