博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Phone 7 ListBox 经典问题详解,带你更深入了解listbox
阅读量:4620 次
发布时间:2019-06-09

本文共 2654 字,大约阅读时间需要 8 分钟。

今天我收到了有关如何在WP7使用ListBox的几个问题。在这个小教程,我将给予我们的答案:

  注意:你可以查看官方的MSDN文档,以供参考。

  问题1:WP7上,有没有填充ListBox的简单方法?

  答:ListBox是ItemsControl中的一种,可以以各种方式的数据填充它。基本上你可以直接使用ListBoxItems填充ListBox控件,或使用ItemsSource属性将其绑定到一个项目集。请注意,如果您希望Listbox能自动更新其项目集合(添加/删除/插入等)ObservableCollection 是一个很好的选择:

  “ 的ObservableCollection代表一个动态的数据集,在项目时被添加,删除,或整个列表被刷新时会发出相应通知“。

  问题2:如何定义的ItemsPanel?什么是ItemsPanel?

  答:ItemsPanel是一个ItemsControl中的用于排布items的 panel,并可以从任何panel类派生,甚至是你自己写的自定义panel。(如果是这样,是不是意味着,你可以写任意复杂的listbox,比如每行能放2个元素的?呵呵)

  默认ListBox的template是VirtualizingStackPanel。

  “要影响ListBox中的items的布局,您可以指定ItemsPanelTemplate属性“

  下面有代码,以供参考。

  在这里我不得不感谢一直支持我的卤面网版主,是他让我提起兴趣写了这么一篇文章,再次感谢卤面网,一个非常不错的wp7开发论坛,后面我也将再次向大家发布几篇高质量文章,请大家到卤面上找我吧,呵呵

  进入正题:

  问题3:您能否给我们一个如何在ListBox中绑定图像的例子吗?

  答:下面有代码,以供参考。

  问题4:我可以对Image,使用外部的 image Uri吗?

  答:您可以使用外部URI,但要记住设置UriKind.Absolute,如下

  this.logo.Source =new BitmapImage(new Uri(@"http://www.codewp7.com/test.png",UriKind.Absolute));

  问题5:我如何使用在ListBox中使用WrapPanel布局?

  答:您可以使用从Silverlight for WindowsPhone7 toolkit 中的WrapPanel。在我后面的文章中我会写一篇深入分析WrapPanel 的文章,静请期待哦(直接加我微薄拉,www.weibo.com/codewp7,关注最新消息)

  下面是例子代码

public class SampleData {
public string Text {
get; set; } public string ImageUri {
get; set; } } public partial class MainPage : PhoneApplicationPage { public MainPage() {
InitializeComponent(); ObservableCollection
dataSource = new ObservableCollection
(); dataSource.Add(new SampleData() { ImageUri = "Images/appbar.close.rest.png", Text = "CLose" }); dataSource.Add(new SampleData() { ImageUri = "Images/appbar.delete.rest.png", Text = "Delete" }); dataSource.Add(new SampleData() { ImageUri = "Images/appbar.download.rest.png", Text = "Download" }); dataSource.Add(new SampleData() { ImageUri = @"http://www.codewp7.com/upload/appwall/wallimage.png", Text = "Logo" }); dataSource.Add(new SampleData() { ImageUri = @"http://www.codewp7.com/upload/appwall/wallimage.png", Text = "Logo" }); this.list.ItemsSource = dataSource; this.logo.Source = new BitmapImage(new Uri(@"http://www.codewp7.com/test.png",UriKind.Absolute)); } }

 

 

  本文来自yewenpeng的博客,原文地址:http://www.cnblogs.com/sonyye/archive/2012/03/06/2382765.html

转载于:https://www.cnblogs.com/songtzu/archive/2012/11/02/2750768.html

你可能感兴趣的文章
常用模块,异常处理
查看>>
父窗口与子窗口之间的传值
查看>>
eclipse 找不到 tomcat 的解决方案
查看>>
HDU 1890--Robotic Sort(Splay Tree)
查看>>
connection string for Excel/Access 2010
查看>>
【转】【Python】Python中的__init__.py与模块导入(from import 找不到模块的问题)
查看>>
学习wavenet_vocoder之环境配置
查看>>
常用Maven命令
查看>>
Docker启动mysql的坑2
查看>>
j2ee爬坑行之二 servlet
查看>>
JAVA基础入门(JDK、eclipse下载安装)
查看>>
最基础的applet运用--在applet上画线
查看>>
并不对劲的hdu4777
查看>>
linux使用rz、sz快速上传、下载文件
查看>>
判断数字的正则表达式
查看>>
DOC常用命令(转)
查看>>
php写一个判断是否有cookie的脚本
查看>>
Mac配置Fiddler抓包工具
查看>>
转:Java并发集合
查看>>
Word截图PNG,并压缩图片大小
查看>>