我的应用程序中有一个列表框,其中填充了一个可观察的集合,它在列表框中正确显示了各项。此列表框位于全景项目页面中。当用户点击任何项目时,它将导航到新页面。
但是在用户返回到显示列表框的上一页之后,已经选择了相同的项目,并且如果用户再次点击它,这里什么也没有发生。是否有一种方法可以解决此问题,以便在此之后默认情况下仍不选择相同的项目从页面返回?
该视图如下所示:
<ListBox x:Name="lstSavedSource" ItemsSource="{Binding SavedDataSource}"
SelectedItem="{Binding SelectedSource,Mode=TwoWay}"
Grid.Row="1" Margin="0,10,0,0">
<ListBox.ItemTemplate >
<DataTemplate>
<TextBlock Foreground="White" FontSize="20" Text="{Binding SavedSourceName}" TextWrapping="Wrap" ></TextBlock>
<TextBlock Foreground="White" FontSize="20" Text="{Binding SavedSourceid}" TextWrapping="Wrap"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
并且ViewModel具有以下集合:
private ObservableCollection<DataSource> _SavedDataSource = new ObservableCollection<DataSource>();
public ObservableCollection<DataSource> SavedDataSource
{
get
{
ObservableCollection<DataSource> savedDataSource = new ObservableCollection<DataSource>();
savedDataSource = DataSource.GetSaved();
return savedDataSource;
}
set
{
this._SavedDataSource = value;
RaisePropertyChanged("SavedDataSource");
}
}
导航到下一页之前,将SelectedIndex属性设置为-1
listbx.SelectedIndex = -1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句