在动态添加的PivotItem

时间:2016-10-17 08:43:56

标签: c# xaml uwp

我使用Pivot显示动态数量的数据透视项。以下代码是我正在做的简化版本。

//.xaml
<Pivot Name="PivotImages">
    <Pivot.ItemTemplate>
        <DataTemplate>
            <Image Name="ImageFull" Source="{Binding PhotoUrl}" />
        </DataTemplate>
    </Pivot.ItemTemplate>
</Pivot>

//.xaml.cs
private readonly ObservableCollection<PhotoPageViewModel> _photoPageViewModelList = new ObservableCollection<PhotoPageViewModel>();
PivotImages.ItemsSource = _photoPageViewModelList;

//PhotoPageViewModel.cs
private string _photoUrl;
public string PhotoUrl
{
    get { return _photoUrl; }
    set
    {
        _photoUrl = value;
        OnPropertyChanged("PhotoUrl");
    }
}

我使用

添加新项目
_photoPageViewModelList.Add(new PhotoPageViewModel());

其中PhotoUrl在构造函数中初始化。该模型似乎按预期工作。问题是ImageFull在选择新的枢轴项时从Web加载图像。

  

我想要实现的是,在添加新的枢轴项目时加载图像,而不是在选择的枢轴项目时加载。因此,当您滑动到下一个透视项目时,您应该已经看到了加载的图像。

     

编辑:我意识到我可能正在使用错误的元素来解决我的问题。滑动动画完成后,Pivot仅显示新项目。我想拥有的是一个可见的枢轴项目,紧挨着当前的一个。就像在Photo App中一样,只要你开始向左或向右滑动就可以看到下一张照片。

1 个答案:

答案 0 :(得分:1)

Pivot不是您要使用的元素。 您应该使用Flipview代替。