[英]Flipview MVVM binding selecteditem or selectedIndex
我无法将翻页视图转到在列表视图中选择的项目,它始终转到列表中的第一个元素。
这是我的flipview xaml和页面加载的代码:XAML:
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Loaded">
<core:InvokeCommandAction Command="{Binding PageLoaded}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
<FlipView
x:Name="FlipViewItem"
ItemsSource="{Binding ArticlesLoader.ArticleItems}"
VirtualizingStackPanel.VirtualizationMode="Recycling"
SelectedItem="{Binding SelectedItem,Mode=TwoWay}"
ItemTemplateSelector="{StaticResource MyDataTemplateSelector}"
>
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" VirtualizationMode="Recycling" />
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
</FlipView>
加载的事件页面调用方法:C#:
private async Task LoadEverything()
{
if (ArticlesLoader!=null)
{
Index = ArticlesLoader.SelectedIndex;
if (ArticlesLoader.ArticleItems.Any()
&& ArticlesLoader.ArticleItems.Count > Index )
{
SelectedItem = ArticlesLoader.ArticleItems[Index];
RaisePropertyChanged(() => SelectedItem);
}
RaisePropertyChanged(() => Index);
}
}
我究竟做错了什么? 我尝试用我的Index属性设置selectedIndex,但是这也行不通。
编辑1:RaisePropertyChanged,OnPropertyChanged是同一件事=)我正在使用GalaSoft.MvvmLight
尝试将呼叫分派给RaisePropertyChanged
Window.Current.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
RaisePropertyChanged(() => Index);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.