Silverlight 更改长列表框中的不透明度会使最后一个元素消失

Silverlight 更改长列表框中的不透明度会使最后一个元素消失,silverlight,windows-phone-7,Silverlight,Windows Phone 7,我创建了一个不透明度设置为小于1的列表框,当我绑定一个长列表时,最后的元素消失了 我创建了一个小样本来重现这个问题 在XAML中,一个列表框: <ListBox x:Name="mainList" ItemsSource="{Binding}" Opacity="0.5"></ListBox> 而且它必然会有一个长长的列表: public MainPage() { InitializeComponent(); List&

我创建了一个不透明度设置为小于1的列表框,当我绑定一个长列表时,最后的元素消失了

我创建了一个小样本来重现这个问题

在XAML中,一个列表框:

<ListBox x:Name="mainList" ItemsSource="{Binding}" Opacity="0.5"></ListBox>

而且它必然会有一个长长的列表:

   public MainPage()
    {
        InitializeComponent();
        List<int> l = new List<int>();
        for (int i = 0; i < 100; i++)
        {
            l.Add(i);
        }

        this.DataContext = l;
    }
public主页()
{
初始化组件();
列表l=新列表();
对于(int i=0;i<100;i++)
{
l、 加(i);
}
this.DataContext=l;
}
当我执行它时,我看到的最后一个元素是“87”,底部有其他元素的位置,但它是完全黑色的

到底是什么问题

编辑:一位同事告诉我,这可能是虚拟化的问题,因为问题发生在87,屏幕上有29个可见项(列表框虚拟化显示的项数的3倍,3*29=87)。
我对ItemsControl做了相同的测试(没有虚拟化),问题也是一样的

*编辑-我能够重现您的问题-有一件事并不能产生完全相同的UI,但工作方式和外观相似,那就是将ListBox不透明度设置为1,然后将DataTemplate中的UI元素设置为不透明度0.5

代码:



看起来很复杂,因为我最初想通过故事板设置不透明度的动画,但应该可以。我试试这个。谢谢:)我刚刚用芒果SDK测试过,这个问题已经不存在了。我们只需要等待最终版本:)
        <ListBox x:Name="mainList" ItemsSource="{Binding}" Opacity="1">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Opacity="0.5" Text="{Binding}">

                    </TextBlock>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>