将 FlipView 与 ObservableCollection<writeablebitmap> 绑定

Bind FlipView with 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);

翻转视图中的图像是空白的。什么都没有出现。有什么方法可以将 ObservableCollection<WriteableBitmap> 直接绑定到 XAML 吗?

我还没有用 WriteableBitmap 试过,但下面应该可以用标准 Image class(例如,将图像的 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>

或者,您可以绑定到一个可观察的位图图像集合。请在此处参考我的实现 FlipView: HowTo bind a Collection<string> as ItemsSource