У меня есть FlipView как этотFlipView не обновляют SelectedItem
<FlipView Grid.Row="1" Grid.RowSpan="2" HorizontalContentAlignment="Center" x:Name="BookPageContentFlipView" ItemsSource="{Binding BookPagesNew,Mode=OneWay}"
SelectedItem="{Binding SelectedPage,Mode=TwoWay}"
SelectionChanged="BookPageContentFlipViewSelectionChanged" >
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Background="Transparent" Orientation="Horizontal"
VirtualizationMode="Recycling" AreScrollSnapPointsRegular="True" />
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
<FlipView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Center" Width="650" x:Name="GridWebView">
<WebView
common:HTMLStringExtension.HTML="{Binding HTMLString}"
ScriptNotify="OnBookPageContentWebViewScriptNotify"
Tapped="OnBookPageContentFlipViewTapped" />
<Image Source="ms-appx:///Assets/add-bookmark.png" x:Name="BookmarkImage"
Tapped="OnBookmarkImageTapped" HorizontalAlignment="Right" VerticalAlignment="Top"
Width="38"
Height="38" />
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
Я использую MVVM и обновить этот FlipView ItemsSource из VM. Теперь моя проблема в том, что когда я обновляю ItemsSource от VM и использую NotifyPropertyChanged()
, чтобы уведомить View, чтобы обновить Flipview ItemsSource, мой выбранный flipview не обновляет представление новыми данными.
Но после того, как я переместился> элемент 2 (следующий/предыдущий), изображение правильно обновлено. Как я могу заставить свой flipview обновить выбранный вами элемент без необходимости перезагрузки flipview?
Если я правильно понял, вы обновляете HTMLString свойства каждых элементов. Могут ли ваши модели внедрять INotifyPropertyChanged? Проверьте это, и если вы можете дать образец проекта. –
Нужна ли моей модели INotifyPropertyChanged? Даже я уже использую его в моей ViewModel? – albilaga
Да, если вы хотите изменить значение свойства 'Item.HTMLString =" новое значение ";' Item также должен реализовать INotifyPropertyChanged, иначе просмотр не получит никакого уведомления. Подробнее о Binding и INotifyPropertyChanged http://bit.ly/1O42Cb0. Вы можете использовать библиотеку Fody для реализации этого интерфейса, проверьте это https://github.com/Fody/PropertyChanged Я надеюсь, что это будет полезно для вас. –