您的位置:首页 > 其它

windows phone中ListBox的简单使用

2014-02-16 22:51 197 查看
学习windows phone数据绑定的一点点心得,在wp系统的APP中经常遇到这样风格的软件,那它们到底怎样实现的呢?我就大致去做了一下,比较粗虐,但基本的都已经有了,实现后的结果为:


哇,这个图截的貌似有点大了,没事,我主要模仿着做了一个新闻app,里面的标题那些都超出了范围,这个可以改进,我就懒得去弄这个了,嘻嘻。。。。

进入重点,要完成这个功能,首先要有一个类,毕竟面向对象嘛,这里我定义了一个New类,如下:

class New
{
public New()
{

}
public New(string imageUri,string title,string content)
{
this.ImageUri = imageUri;
this.Title = title;
this.Content = content;
}
public string ImageUri { get; set; }
public string Title { get; set; }
public string Content { get; set; }

}


主要用来存放,新闻的图片路径,标题和正文,比较随便的弄一个类,然后就是编写xaml文件:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ListBox Grid.Row="1"  Name="listBox1" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="455" Height="120">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Image Margin="12,0,12,12" Grid.Column="0" Width="130" Height="130" Stretch="Fill" HorizontalAlignment="Left" VerticalAlignment="Top" Source="{Binding ImageUri}"/>
<Grid Grid.Column="1" Name="grid1" >
<Grid.RowDefinitions>
<RowDefinition Height="60*" />
<RowDefinition Height="60*" />
</Grid.RowDefinitions>
<TextBlock FontSize="20" Height="20" HorizontalAlignment="Left" Name="textBlock1" VerticalAlignment="Top" Width="332" Text="{Binding Title}" />
<TextBlock FontSize="12" Grid.Row="1" Height="30" HorizontalAlignment="Left" VerticalAlignment="Top" Name="textBlock2" Text="{Binding Content}"  Width="332" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>


最后在,xaml.cs里面绑定了下,这里我只是随便弄了一些,其实正确的写法不应该直接在.cs文件里面来绑定而应该用一个方法或者类来处理这些数据,为了方便我就直接在.cs文件里面绑定了:

ObservableCollection<New> DataList = new ObservableCollection<New>();
DataList.Add(new New("../Images/1.jpg", "中国铁路迎来节后新一轮返程客流高峰", "中国铁路公安机关全力确保春运返程客流平稳有序|铁路机关应"));
DataList.Add(new New("../Images/2.jpg", "向往", "年近60的王某是本市丰台区人,20多岁时就因故意伤害被劳动教养3年"));

DataList.Add(new New("../Images/3.jpg", "河南两地“养死熊猫”“没收老虎”引发热议", "一个穿红衣裳的女孩不停的将食物戳在棍子上喂食,以控制熊猫配合交过费用的游客拍照。"));
DataList.Add(new New("../Images/4.jpg", "劳动法反倒会让百姓失业?", "近日,俞敏洪在某企业家论坛评价《劳动法》,认为:"));
DataList.Add(new New("../Images/5.jpg", "证监会严打老鼠仓 将突击抽查", "在周四小幅回调后,上证指数周五再度拉出一条中阳线,虽然深圳中小板和创业板走势成交有所萎缩"));
DataList.Add(new New("../Images/6.jpg", "焦点直击:女儿为给父亲办户口 竟与其结婚", "#焦点直击#【女儿为给父亲办户口 竟与其结婚】林丽(化名)想把父亲的户口从老家迁到成都"));
DataList.Add(new New("../Images/7.jpg", "枪手不进球,五个方面来解析", "曼联与阿森纳本赛季的第二场交锋在一次闷平中结束。这个结果估计两边都不是太高兴"));
listBox1.ItemsSource = DataList;


好,讲到这里就差不多了,我再把我的源码附上让大家学习学习,我也刚开始学wp开发不久,还望大家一起来讨论下,打算接下来就深入下MVVM模式的开发,不过wp开发的文献不多啊,所以学习比较辛苦,这个路程坎坷,不过本着自己是学.net的,对asp.net和windows phone的兴趣,也就有动力学下去了,还望大家多多支持啊

咦????写到这里发现,不能上传源码??博客园没有提供上传源码压缩包?还是说我不懂,好吧,用博客园不久,之前都是受博客园的帮助,那大家领悟吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: