2013-08-20 18 views
1

我有5個水平列表框,其中包含圖像和文本..文本顯示在stackpanel內的textblock(背景爲灰色)..現在,如果我將背景更改爲黑色和不透明度爲0.3,我開始越來越outmemory ..什麼可能是錯誤的?這裏是我的列表框:outofmemory關於改變網格的不透明度

<ScrollViewer x:Name="scroll1" HorizontalAlignment="Left" Height="200" Margin="0,27,0,0" VerticalAlignment="Top" Width="480" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" > 
<ListBox Name="firstList" Height="200" ScrollViewer.VerticalScrollBarVisibility="Disabled" Tap="firstList_SelectionChanged_1" > 
<toolkit:GestureService.GestureListener> 
    <toolkit:GestureListener DragCompleted="GestureListener_DragCompleted"></toolkit:GestureListener> 
</toolkit:GestureService.GestureListener> 
<ListBox.ItemsPanel> 
    <ItemsPanelTemplate> 
     <StackPanel Orientation="Horizontal" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" /> 
    </ItemsPanelTemplate> 
</ListBox.ItemsPanel> 
<ListBox.ItemContainerStyle> 
    <Style TargetType="ListBoxItem"> 
     <Setter Property="Padding" Value="0 0 0 0 " /> 
    </Style> 
</ListBox.ItemContainerStyle> 

<ListBox.ItemTemplate> 
<DataTemplate> 
<StackPanel Orientation="Vertical" Height="200" Width="150" Background="Transparent"> 
    <!--Replace rectangle with image--> 
    <Image Source="{Binding image}" Margin="0,20" HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="UniformToFill" Height="140" Width="119"></Image> 
    <Grid Margin="0,-335,0,0" HorizontalAlignment="Center" Background="Transparent" Height="30"> 
     <TextBlock Text="{Binding brandName}" HorizontalAlignment="Center" FontSize="15" TextWrapping="NoWrap" Foreground="#FFAA1F17" /> 
    </Grid> 
    <Grid Margin="70,-240,-10,0" Width="50" Height="50" Background="Transparent"> 
    <!--<TextBlock Text="Discount" Foreground="White" FontSize="15" Margin="15,0,5,0"/>--> 
     <Image Source="{Binding imageSource}" Width="50" Height="50" ></Image> 
     <TextBlock Text="{Binding discountPercentage}" TextWrapping="NoWrap" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="15" /> 
    </Grid> 
    <StackPanel Width="150" Margin="0,-35,0,0" Background="Transparent"> 

     <Grid HorizontalAlignment="Stretch" Height="55" Background="#FF9B9A9A"> 
     <!--<TextBlock Text="Rs" Foreground="White" FontSize="20" Margin="30,0,5,0"/>--> 
      <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Background="Transparent"> 
       <TextBlock Text="{Binding productName}" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#99FFFFFF" FontSize="15" /> 
      </StackPanel> 
     </Grid> 

    </StackPanel> 
</StackPanel> 
</DataTemplate> 
</ListBox.ItemTemplate> 
</ListBox> 
</ScrollViewer> 

我已經試過這一點,得到了OutOfMemoryError異常:

<StackPanel Orientation="Vertical" Height="200" Width="150" Background="Transparent"> 
<!--Replace rectangle with image--> 
<Image Source="{Binding image}" Margin="0,20" HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="UniformToFill" Height="140" Width="119"></Image> 
<Grid Margin="0,-335,0,0" HorizontalAlignment="Center" Background="Transparent" Height="30"> 
    <TextBlock Text="{Binding brandName}" HorizontalAlignment="Center" FontSize="15" TextWrapping="NoWrap" Foreground="#FFAA1F17" /> 
</Grid> 
<Grid Margin="70,-240,-10,0" Width="50" Height="50" Background="Transparent"> 
    <!--<TextBlock Text="Discount" Foreground="White" FontSize="15" Margin="15,0,5,0"/>--> 
    <Image Source="{Binding imageSource}" Width="50" Height="50" ></Image> 
    <TextBlock Text="{Binding discountPercentage}" TextWrapping="NoWrap" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="15" /> 
</Grid> 
<StackPanel Width="150" Margin="0,-35,0,0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Background="Black" Opacity="0.3"> 

<TextBlock Text="{Binding productName}" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#99FFFFFF" FontSize="15" /> 

</StackPanel> 
</StackPanel> 
+0

你後面的代碼對於幫助診斷你的OOM異常非常有幫助 –

+0

你可以發佈這個XAML的代碼,也是它的工具包指的是什麼?您是使用Windows Phone Toolkit還是什麼? 也請告訴我們什麼是異常附帶的消息 此外,當我運行此代碼沒有代碼後,它沒有給出任何異常 –

+0

嘿我解決了它通過替換網格/ stackpanel透明圖像上的文本塊。謝謝.. – vjamit

回答

0

自我解決。通過將透明圖像上的文本塊替換爲grid/stackpanel。