ListView
xaml に があり、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 の最初の項目が選択されます。ページが読み込まれると、次のようになります。
- Get inside SitesCollection が呼び出されています (リストビューにデータが入力され、コレクションが返されます)。
- Get inside SelectedSite が呼び出され、null が返されます
- Set inside SelectedSite が呼び出され、値が最初の項目に設定されます
なぜこれが起こっているのか誰にも分かりますか?