在WinRT应用程序中,我有一个带有一些图片和一个Image myImage的FlipView myFlipView。在myFlipView的事件的SelectionChanged有以下方法:异步方法中的错误
async private void myFlipView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (myFlipView == null) return;
Uri newUri = new Uri("ms-appx://" + (((BitmapImage)(((Image)(((ContentControl)(myFlipView.SelectedItem)).Content)).Source)).UriSource.AbsolutePath));
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(newUri);
WriteableBitmap wb = new WriteableBitmap(1, 1);
if (file != null)
{
using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
{
await wb.SetSourceAsync(fileStream);
}
}
wb = ModifyPicture(wb);
myImage.Source = wb;
}
综上所述发现当前图像的URI在myFlipView并设置图像MYIMAGE但在ModifyPicture定义了一些修改。它可以在平板电脑上完美工作,但在使用鼠标的电脑上却有一个错误。当我点击连接到FlipView的箭头非常快,然后myImage显示错误的图片。例如,如果在myFlipView中有10张图片(p1,p2,...,p10),并且当前选择了p1,当我在myImage上更改为p2时,也会出现p2。但是当我在FlipView中点击的速度非常快时,例如p9和myImage p8。我认为这与事实有关,该方法被称为多次,但我不知道如何解决它。预先感谢您的帮助:)
你可以给我整个项目,我可以检查吗? – Xyroid 2013-04-09 09:49:59