2

我有一个全景页面,其中提要列表来自上一页,其中包含一些图像。因此,如果该列表的大小增加,则会引发内存不足异常。此外,我的 Pivot 位于模板中,因此我什至无法对图像执行处置操作。请帮忙。卡在这个问题上很久了。

Constants.messageDiscArray,我在上一页中设置为一个常量文件。而且全景图位于模板中,因此我也无法对图像执行任何功能以进行垃圾收集。任何帮助将不胜感激。

这是我的 xaml 代码:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,0,0">
     <controls:Panorama x:Name="FeedsPanorama" Title="Dashboard Column" ItemsSource="{Binding Constants.messageDiscArray}" >
     <controls:Panorama.ItemTemplate>
          <DataTemplate>
               <Grid Margin="0,-300,0,0">
               <Grid Margin="0,0,0,0">
               <Image Height="30" HorizontalAlignment="Left"  Margin="15,319,0,0" Name="image11" Stretch="Fill" VerticalAlignment="Top" Width="30" Source="/WpControlsExample;component/Images/assigns.png" />
               <Image Height="30" HorizontalAlignment="Left" Margin="340,319,0,0" Name="image13" Stretch="Fill" VerticalAlignment="Top" Width="30" Source="{Binding spamURL}" />
               <Image Height="30" HorizontalAlignment="Left" Margin="376,319,0,0" Name="image14" Stretch="Fill" VerticalAlignment="Top" Width="30" Source="{Binding sentimentURL}" />

               </Grid>
               </Grid>
         </DataTemplate>
    </controls:Panorama.ItemTemplate>
    </controls:Panorama>
    </Grid>
</Grid>  

下面是我的 C# 代码

public partial class MessageDescription : PhoneApplicationPage
{
    private ObservableCollection<InboxItem> msArray = new ObservableCollection<InboxItem>();

    public MessageDescription()
    {
        InitializeComponent();
        loadPanoramaFeeds();
    }

    private void loadPanoramaFeeds()
    {
        for(int i=0;i< Constants.messageDiscArray.Count;i++){
            msArray.Add(Constants.messageDiscArray[i]);
        }
        this.FeedsPanorama.ItemsSource = msArray;
        this.FeedsPanorama.DefaultItem = this.FeedsPanorama.Items[Constants.messageIndex];
    }
}
4

0 回答 0