window phone开发之 ListBox控件

在Phone7中去掉了listview控件,就只有这个listbox控件,不过这个控件功能非常强大,完全可以实现listview的功能。 因为这个控件也相当于一个容器,可以通过ListItem来组合多个控件而得到不同功能的list。

Xaml:

<ListBoxGrid.Row="1"Height="567"HorizontalAlignment="Left"Margin="12,53,0,0"Name="listBox1"VerticalAlignment="Top"Width="460">

<ListBox.ItemTemplate>

<DataTemplate>

<StackPanelOrientation="Horizontal">

<ImageSource="{BindingImgSource}"Width="130"Height="130"/>

<TextBlockText="{BindingName}"Foreground="Yellow"FontSize="25"/>

</StackPanel>

</DataTemplate>

</ListBox.ItemTemplate>

</ListBox>

//{Binding ImgSource}:动态绑定图片资源。

//{Binding Name}:动态绑定text文字。

源代码:

ImageListitem1 =newImageList();

item1.ImgSource =newBitmapImage(newUri("Images/Chrysanthemum.jpg",UriKind.Relative));

item1.Name ="Chrysanthemum.jpg";

list.Add(item1);

ImageListitem2 =newImageList();

item2.ImgSource =newBitmapImage(newUri("Images/Desert.jpg",UriKind.Relative));

item2.Name ="Desert.jpg";

list.Add(item2);

ImageListitem3 =newImageList();

item3.ImgSource =newBitmapImage(newUri("Images/Hydrangeas.jpg",UriKind.Relative));

item3.Name ="Hydrangeas.jpg";

list.Add(item3);

listBox1.ItemsSource = list;


<ListBoxHeight="605"HorizontalAlignment="Left"Margin="10,6,0,0"Name="listBox1"VerticalAlignment="Top"Width="460" >

<ListBox.ItemTemplate>

<DataTemplate>

<StackPanelOrientation="Horizontal">

<ButtonContent="{BindingColorName}"Click="Button_Click"/>

<TextBlockx:Name="tb"Text="{BindingColorName}"FontSize="35"/>

</StackPanel>

</DataTemplate>

</ListBox.ItemTemplate>

</ListBox>

voidMainPage_Loaded(objectsender,RoutedEventArgse)

{

ColorItemcolor =newColorItem();

color.ColorName ="Red";

color.ColorValue =Colors.Red;

list.Add(color);

ColorItemcolor1 =newColorItem();

color1.ColorName ="Green";

color1.ColorValue =Colors.Green;

list.Add(color1);

ColorItemcolor2 =newColorItem();

color2.ColorName ="Blue";

color2.ColorValue =Colors.Blue;

list.Add(color2);

this.listBox1.ItemsSource = list;

}

privatevoidButton_Click(objectsender,RoutedEventArgse)

{

stringbutton = (senderasButton).Contentasstring;

intindex = 0;

stringcolor =string.Empty;

for(index=0; index<list.Count; index++)

{

if(button == list[index].ColorName)

{

color = list[index].ColorName;

break;

}

}

ListBoxItemlbi =this.listBox1.ItemContainerGenerator.ContainerFromIndex(index)asListBoxItem;

TextBlocktb = FindFirstVisualChild<TextBlock>(lbi,"tb");

tb.Foreground =newSolidColorBrush(list[index].ColorValue);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值