一、介绍

ListBox是继承自ItemsControl的,都是用于展现数据列表,可以在前台XAML中写死,但这种方法使用不灵活;可以动态绑定数据源,还可以定义模板,定义显示的样式这咱方式利用率较高。下面就来一一看下如何实现吧~

二、具体实现

第一种

代码展示:

      <ListBox Margin="10,20,0,0,">

           <ListBoxItem>

                <Border BorderThickness="0,0,0,1" BorderBrush="#FF4BB1A8" Height="80" Width="450">

                    <Canvas>

                        <Image Source="/DataTemplateSelectorDemo;component/Images/fries.png"></Image>

                        <TextBlock Text="署条" Margin="100,20,0,0"></TextBlock>

                    </Canvas>

                    </Border>

            </ListBoxItem>

          

          

                    

            </ListBox>

 

第二种 动态绑定,前台定义模板

代码实现:

前台

<ListBox x:Name="listGoods" Margin="10,20,0,0" ItemsSource="{Binding}">

                <ListBox.ItemTemplate>

                    <DataTemplate>

                    <Border BorderThickness="0,0,0,1" BorderBrush="#FF4BB1A8" Height="80" Width="450">

                        <Canvas>

                                <Image Source="{Binding IconUrl}"></Image>

                                <TextBlock Text="{Binding GoodsName}" Margin="100,20,0,0"></TextBlock>

                        </Canvas>

                    </Border>

                    </DataTemplate>

                </ListBox.ItemTemplate>

            </ListBox>

 

后台

List<Goods> list = new List<Goods>();

            Goods good = new Goods();

            good.IconUrl = "/Images/fries.png";

            good.GoodsName = "署条";

            list.Add(good);

 

            good = new Goods();

            good.IconUrl = "/Images/Hamburger.png";

            good.GoodsName = "汉堡包";

            list.Add(good);

 

            good = new Goods();

            good.IconUrl = "/Images/icecream.png";

            good.GoodsName = "冰淇淋";

            list.Add(good);

 

            listGoods.ItemsSource = list;

ListBox/ItemsControl的使用

 

 

三、根据条件动态绑定

若需要根据绑定的数据再次进行处理,如对于绑定的数据决定是否显示,可以利用Convert来实现。

如:

<local:ConvertGetAward x:Key="getaward"></local:ConvertGetAward>

 

<Button Foreground="White" Tag="{Binding TaskID}" Content="领取"

    Name="btnGet" Visibility="{Binding award, Converter={StaticResource getaward}}" />

 

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

        {

          

            if (value.ToString()== "3")

            {

                return "Collapsed";

            }          

            else

            {

                return "Visible";

            }

        }

 

上面列出了主要的的代码,主要就是Button通过绑定award字段,然后getaward类的转换实现显示或隐藏。

     当然,listBox的用法还很多,在wp7对于列表的显示也非常多,需要研究的还很多,希望在以后的运用中不断总结。

 

相关文章:

  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
猜你喜欢
  • 2021-05-31
  • 2021-04-24
  • 2021-05-16
  • 2022-12-23
  • 2022-01-06
相关资源
相似解决方案