2016-02-22 3 views
0

Я разрабатываю приложение для Windows 10 следующим образом:FlipView onItemShow Событие

Это мой класс

public class ImgurPost 
{ 
    public string title { get; set; } 
    public Uri thumbnail { get; set; } 
    public Uri fullimage { get; set; } 
} 

И это мой Xaml

<DataTemplate x:Name="flipItem" x:DataType="vm:ImgurPost"> 
    <Grid> 
     <Image Source="{Binding thumbnail}"/>   
     <TextBlock Text="{Binding title}" /> 
    </Grid> 
</DataTemplate> 
<FlipView ItemTemplate="{x:Bind flipItem}"> 
</FlipView> 

The FlipView.Itemsource связано с a IncrementalSource через C# и отлично работает, отображаются все элементы.

Но то, что я хочу, что, когда вы переключаете к следующему пункту я мог огнь событие, чтобы просить полное изображения, которое будет загружено и заменить миниатюру только на этой активную FlipViewItem так, когда приложение загружается его не загружает все полноразмерные изображения за один раз.

ответ

0

Вы можете использовать событие SelectionChanged, чтобы узнать, когда пользователь изменит элемент и добавит вашу логику, чтобы изменить изображение.

https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.primitives.selector.selectionchanged

Update:

Есть несколько способов, которые.

1.- вы можете использовать INotifyPropertyChanged в вашей модели и изменить только значение свойства, которое содержит с URL и делает связывание с вашим контролем изображения внутри шаблона элемента

https://msdn.microsoft.com/en-us/library/windows/apps/mt269383.aspx

2.- вы можете использовать подход селектора элементов Item, чтобы изменить весь ItemTemplate в зависимости от некоторого значения вашей модели.

https://marcominerva.wordpress.com/2013/02/18/dynamically-choose-datatemplate-in-winrt/

предыдущий пример он был для WinRT, но остается в силе для UWP приложений

Я думаю, если вы хотите, чтобы непосредственно изменить значение источника изображения было бы трудно, но возможно using VisualTreeHelper

+0

Я пытаюсь использовать его, но проблема в том, что я не могу найти способ добавления или изменения элементов управления внутри выбранного объекта отображения Flipview, поскольку Flipview.containerfromindex (FlipView.selecteindex) возвращает aways null, несмотря ни на что. – Adrews

+0

Я обновляю свой ответ! С наилучшими пожеланиями – RicardoPons

+0

Я получил его, используя подход выбора шаблона Спасибо – Adrews