Windows Phone Pivot 模拟 滑动Image Viewer 出现 0x8000ffff 异常
2013-01-15 23:04
267 查看
简介:
App有多张图片需要展示,打算做一个 类似于 “图片”里面可以滑动的 图片展示页面。
实现的方式有很多。选个简单的,直接用Pivot来模拟。
问题:
过程中出现了:0x8000ffff 异常!!!
我将 ObservableCollection<Uri> 绑定到 ItemTemplete,并且设置ItemSource时候
引发0x8000ffff 异常。完全没有头绪。
使用的代码:
代码如下:
数据
加载数据
XAML
解决问题:
1.找了2 3个小时,开始以为是StaticsResources的问题。网上有说法是绑定名字出错,但是经过检查,
没有错误!
2.然后找到这个文章 http://www.nachmore.com/2010/silverlight-why-do-i-get-0x8000ffff-when-using-writeablebitmap-on-an-element/
大概是讲:强迫系统去render看不到的控件,会仆街。
按照这个思路,我觉得应该讲BitmapImage加载了,再绑定。
3.那就先将BitmapImage下载来咯,WebClient??好像不太好
我找到这个方案: http://blog.csdn.net/moxiaomomo/article/details/7907054
延迟加载BitmapImage
C# 改成这样:
咔嗒!成了!
历史
App有多张图片需要展示,打算做一个 类似于 “图片”里面可以滑动的 图片展示页面。
实现的方式有很多。选个简单的,直接用Pivot来模拟。
问题:
过程中出现了:0x8000ffff 异常!!!
我将 ObservableCollection<Uri> 绑定到 ItemTemplete,并且设置ItemSource时候
引发0x8000ffff 异常。完全没有头绪。
使用的代码:
代码如下:
数据
private ObservableCollection<Uri> _imageUris; public ObservableCollection<Uri> ImageUris { get { return _imageUris; } set { if (_imageUris != value) { _imageUris = value; RaisePropertyChanged("ImageUris"); } } }
加载数据
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (PhoneApplicationService.Current.State.ContainsKey("images")) { object list; if (PhoneApplicationService.Current.State.TryGetValue("images", out list)) { ImageUris = list as ObservableCollection<Uri>; } } Pivot.ItemSource = ImageUris; }
XAML
<controls:Pivot Title="查看图片" Name="Pivot" > <controls:Pivot.ItemTemplate> <DataTemplate > <Image Source="{Binding}" /> </DataTemplate> </controls:Pivot.ItemTemplate> <controls:Pivot.HeaderTemplate> <DataTemplate > <Grid> <TextBlock Margin="0,0,1,0" TextWrapping="Wrap" d:LayoutOverrides="Width, Height" /> </Grid> </DataTemplate> </controls:Pivot.HeaderTemplate> </controls:Pivot>
解决问题:
1.找了2 3个小时,开始以为是StaticsResources的问题。网上有说法是绑定名字出错,但是经过检查,
没有错误!
2.然后找到这个文章 http://www.nachmore.com/2010/silverlight-why-do-i-get-0x8000ffff-when-using-writeablebitmap-on-an-element/
Silverlight: Why do I get 0x8000ffff when using WriteableBitmap on an Element
大概是讲:强迫系统去render看不到的控件,会仆街。按照这个思路,我觉得应该讲BitmapImage加载了,再绑定。
3.那就先将BitmapImage下载来咯,WebClient??好像不太好
我找到这个方案: http://blog.csdn.net/moxiaomomo/article/details/7907054
延迟加载BitmapImage
C# 改成这样:
public ObservableCollection<BitmapImage> Images { get; set; } protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (PhoneApplicationService.Current.State.ContainsKey("images")) { object list; if (PhoneApplicationService.Current.State.TryGetValue("images", out list)) { ImageUris = list as ObservableCollection<Uri>; } } Images.Clear(); foreach (var uri in ImageUris) { BitmapImage bitmap = new BitmapImage(); bitmap.CreateOptions = BitmapCreateOptions.BackgroundCreation; // 当图片下载完成并解码成功时,会触发ImageOpened bitmap.ImageOpened += (s, ex) => { // 添加到图片列表 Images.Add(s as BitmapImage); }; // uri为远程文件地址 bitmap.UriSource = uri; } int index = int.Parse(NavigationContext.QueryString["index"]); Pivot.SelectedIndex = index; Pivot.ItemsSource = Images; }
咔嗒!成了!
历史
相关文章推荐
- ScrollView嵌套RecyclerView出现的滑动以及显示异常的处理
- 两个程序模拟交互,出现No route to host异常
- Android中ScrollView+webView出现滑动异常问题
- 滑动RecyclerView时出现异常: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 6(offset:6).state:30
- Windows Phone 7.1 SDK为什么访问联系人出现异常
- 切换api到低版本时滑动listview出现特效异常的问题
- RecyclerView滑动出现空指针异常
- [非原子批处理出现故障]使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
- Debug模式下正常而Release模式下出现异常的一例
- [Android][adb]input笔记--模拟-按键-点击-滑动事件
- Oracle 10g 控制台登录 出现Io 异常:Unknown host specified
- myeclipse删除文件或项目时出现异常
- 解决ScrollView嵌套RexyclerView导致6.0以上手机ScrollView和RecyclerView可以同时滑动问题,5.1手机滑动卡顿问题(解决一个另一个又出现)
- 在ListView控件中添加head视图为ViewPager时遇到的问题是滑动出现混乱。
- string.Format出现异常"输入的字符串格式有误"的解决方法
- Eclipse异常退出重启后出现端口被占用
- ubuntu12.04打开qt5.2.0時出现异常
- 关于Android Studio出现Error:Failed to open zip file. Gradle's dependency cache may be corrupt 异常
- hadoop 安装出现的几种异常的处理方法
- 关于TouchEvent中出现异常:MessageQueue-JNI问题