C#XAML Metro Image动态源 - 更多来源

时间:2012-10-22 11:26:23

标签: c# xaml winrt-xaml

我在C# XAML Metro Image dynamic Source

上有上一个问题

一切都很好,但是当我使用3"缓冲区"并且切换它们,我看到闪烁。

public Dictionary<int, BitmapImage>[] SpritesBuffer = new Dictionary<int,BitmapImage>[3];

(...)

image.Source = SpritesBuffer[0][0]; //first time use

(...)

timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 0, 16);
timer.Tick += SwitchImageSource;

timer.Start();

在SwitchImageSource()中,我使用foreach循环来自1.缓冲区的图像,在某些操作中,我将缓冲区切换为2.并从缓冲区2中循环遍历图像。

但是当我已经在缓冲区1,2和3中循环时,它的一切都很好,图像也没有闪烁。但是在第一次循环中,我看到了闪烁。

我尝试在显示图像之前切换源:

foreach (Dictionary<int, BitmapImage> dic in SpritesBuffer)
            {
                foreach (KeyValuePair<int, BitmapImage> keyVal in dic)
                {
                    image.Source = keyVal.Value;
                }
           } 

但它不起作用。

我该如何解决这个问题? 谢谢!

0 个答案:

没有答案