WP7 ListBox经典问题详解,带你深入了解ListBox

WP7 ListBox经典问题详解,带你深入了解ListBox,第1张

概述今天我收到了有关如何在WP7使用ListBox的几个问题。在这个小教程,我将给予我们的答案: 注意:你可以查看官方的MSDN文档,以供参考。 问题1:WP7上,有没有填充ListBox的简单方法? 答:ListBox是ItemsControl中的一种,可以以各种方式的数据填充它。基本上你可以直接使用ListBoxItems填充ListBox控件,或使用ItemsSource属性将其绑定到一个项目集

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

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

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

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

“ <T>的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,关注最新消息)

下面是例子代码

<StackPanel x:name="ContentPanel" GrID.Row="1" margin="12,12,0">    <Image x:name="logo" Stretch="None"/>    <TextBlock Text="DataBound ListBox"/>    <ListBox x:name="List">        <ListBox.ItemsPanel>            <ItemsPanelTemplate>                <toolkit:WrapPanel/>            </ItemsPanelTemplate>        </ListBox.ItemsPanel>        <ListBox.ItemTemplate>            <DataTemplate>                <StackPanel margin="5">                    <Image Source="{Binding ImageUri}" Stretch="None"/>                    <TextBlock Text="{Binding Text}"/>                </StackPanel>            </DataTemplate>        </ListBox.ItemTemplate>    </ListBox></StackPanel>


复制代码

public class SampleData{    public string Text    {        get;        set;    }     public string ImageUri    {        get;        set;    }} public partial class MainPage : PhoneApplicationPage{        public MainPage()    {        InitializeComponent();        ObservableCollection<SampleData> dataSource = new ObservableCollection<SampleData>();                 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));    }}


复制代码

我希望你能喜欢我的文章!如果你有更多想法,请到卤面网wp7开发论坛(codewp7.com)问答区联系我,我会很高兴知道你在想什么。同时wp7交流QQ群172765887中,也能找到我的身影,感谢大家,也欢迎大家关注我的微薄(www.weibo.com/codewp7)

总结

以上是内存溢出为你收集整理的WP7 ListBox经典问题详解,带你深入了解ListBox全部内容,希望文章能够帮你解决WP7 ListBox经典问题详解,带你深入了解ListBox所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1069855.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存