Связать FlipView с ObservableCollection‹writeablebitmap›

Я разрабатываю приложение для магазина Windows, и мне нужна помощь в привязке flipView к ObservableCollection<WriteableBitmap>

Ниже показано, как я делаю это прямо сейчас,

XAML:

<FlipView x:Name="flipView" Grid.Row="1" Margin="0,0,20,0" ItemsSource="{Binding BitMapCollection}" Visibility="{Binding FlipViewVisibility}" >
</FlipView>

Модель представления:

ObservableCollection<WriteableBitmap> _bitMapCollection = new ObservableCollection<WriteableBitmap>();

public ObservableCollection<WriteableBitmap> BitMapCollection
{
    get { return _bitMapCollection; }
    set { _bitMapCollection = value; }
}

WriteableBitmap photoWriteableBitMap = await new WriteableBitmap(1, 1).FromContent(new Uri("ms-appx:///Curtain1.jpg"));
WriteableBitmap frameWriteableBitMap = await new WriteableBitmap(1, 1).FromContent(new Uri("ms-appx:///Window1.jpg"));

BitMapCollection.Add(photoWriteableBitMap);
BitMapCollection.Add(frameWriteableBitMap);

Изображения в FlipView пусты. Ничего не появляется. Можно ли как-то напрямую связать ObservableCollection<WriteableBitmap> с XAML?


person Mohammed Aamir K    schedule 10.02.2016    source источник


Ответы (2)


Я не пробовал это с WriteableBitmap, но ниже должно работать со стандартным классом Image (например, установите Source изображения на photoWriteableBitMap и привяжите к коллекции Image)

По сути, вам нужно определить DataTemplate следующим образом:

    <FlipView x:Name="flipView"                   
          ItemsSource="{Binding BitMapCollection}" 
          Visibility="{Binding FlipViewVisibility}"             
            <FlipView.ItemTemplate>
                <DataTemplate>
                    <Image Width="200" Height="200" Source="{Binding}" />
                </DataTemplate>
            </FlipView.ItemTemplate>    
    </FlipView>
person O.O    schedule 10.02.2016

В качестве альтернативы вы можете привязаться к наблюдаемой коллекции растровых изображений. Пожалуйста, обратитесь к моей реализации этого здесь FlipView: как связать коллекцию ‹строка› как ItemsSource

person Tolani    schedule 21.05.2016