listboxitem 内部发件人出现了一个奇怪的情况(我只是认为这个发件人是罪魁祸首,但不确定......)
ListBox有ItemTemplate:
<ListBox x:Name="list">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="stack_panel">
<Image Source="{Binding ImageSource}" Tap="Image_Tap"></Image>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
ListBox 中的每个项目都有一个带有点击事件的图像:
private void Image_Tap(object sender, GestureEventArgs e)
{
Image i = (Image)sender;
i.Source = new BitmapImage(new Uri("Images/yellow.png", UriKind.RelativeOrAbsolute));
}
此外,还有一个用于轻松更改图像的类:
public class listItems
{
public string ImageSource { get; set; }
}
对。现在我准备在列表框中添加一些元素:
for (int i = 0; i < 100;i++)
list.Items.Add(new listItems
{
ImageSource = "Images/black.png"
});
所以,让我们点击第零个太阳图像:
一切都好!让我们继续,然后点击第二张图片:
对,阳光明媚……但是……停下,那是什么?0_o
我没有点击这个项目,但它的图像已经改变了!这不仅发生在 th 项目上,也发生在其他一些随机项目(53、81、...)
你怎么看待这件事?发件人可以参考许多元素吗?