WPF ListBox

一、ListBox系列索引

1、WPF ListBox基础(包括ListBox多列展示,ListBox实现分页效果,ListBox绑定XML数据源

2、ListBox 单击变大动画效果(使用模板、样式、绑定数据源等)

二 ListBox基础:包括ListBox多列展示,ListBox实现分页效果,ListBox绑定XML数据源。

1.ListBox多列展示

?
<ListBox>
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <UniformGrid Columns= "4" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
 
            <ListBoxItem>Item1</ListBoxItem>
            <ListBoxItem>Item2</ListBoxItem>
            <ListBoxItem>Item3</ListBoxItem>
            <ListBoxItem>Item4</ListBoxItem>
            <ListBoxItem>Item5</ListBoxItem>
            <ListBoxItem>Item6</ListBoxItem>
            <ListBoxItem>Item7</ListBoxItem>
            <ListBoxItem>Item8</ListBoxItem>
            <ListBoxItem>Item9</ListBoxItem>
            <ListBoxItem>Item10</ListBoxItem>
            <ListBoxItem>Item11</ListBoxItem>
            <ListBoxItem>Item12</ListBoxItem>
            <ListBoxItem>Item13</ListBoxItem>
            <ListBoxItem>Item14</ListBoxItem>
  </ListBox>
效果图

如果要让ListBox横向显示,并自动换行,作如下设置即可。

<ListBox  Margin= "0,280,49,311" ItemTemplate= "{StaticResource gridDataTemplate1}" IsSynchronizedWithCurrentItem= "True" 
                 ScrollViewer.HorizontalScrollBarVisibility= "Disabled"  ItemsSource= "{Binding}"
                 Name= "listBox6" SelectedIndex= "0" HorizontalAlignment= "Right" Width= "238" >
           <ListBox.ItemsPanel>
               <ItemsPanelTemplate>     
                   <WrapPanel IsItemsHost= "True" ></WrapPanel>
               </ItemsPanelTemplate>
           </ListBox.ItemsPanel>
       </ListBox>

  

2.Listview/ListBox use CollectionViewSource.Filter event to show data

源码:http://code.msdn.microsoft.com/CSWPFPaging-ce1ce482

效果图:

3.Listview获得XML数据源

下面是XML文件,文件名:XMLFile1.xml 

 

<?xml version="1.0" encoding="utf-8" ?>
<peopleInfo>
    <person>
        <ID>1</ID>
        <Name>John Doe</Name>
        <Balance>100</Balance>
    </person>
    <person>
        <ID>2</ID>
        <Name>Jane Dorkenheimer</Name>
        <Balance>-209</Balance>
    </person>
    <person>
        <ID>3</ID>
        <Name>Fred Porkroomio</Name>
        <Balance>0</Balance>
    </person>
    <person>
        <ID>4</ID>
        <Name>Mike Dpike</Name>
        <Balance>550</Balance>
    </person>
    <person>
        <ID>5</ID>
        <Name>Boris</Name>
        <Balance>0</Balance>
    </person>
    <person>
        <ID>6</ID>
        <Name>Doris</Name>
        <Balance>25</Balance>
    </person>
</peopleInfo>

 

下面是xaml代码

?
<Window x:Class= "WpfApplicationSummer.Window1"
     xmlns:local= "clr-namespace:WpfApplicationSummer"
     Title= "Window1" Height= "300" Width= "300" >
     <Window.Resources>
         <XmlDataProvider x:Key= "myXML" Source= "XMLFile1.xml" XPath= "/peopleInfo/*" ></XmlDataProvider>  
         <DataTemplate x:Key= "myTemplate" >
             <Grid>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Name= "xx" />
                     <ColumnDefinition Name= "xxy" />
                     <ColumnDefinition Name= "xxyy" />
                 </Grid.ColumnDefinitions> 
                 <TextBlock Grid.Column= "0" Text= "{Binding XPath= ID}" />
                 <TextBlock Grid.Column= "1" Text= "{Binding XPath=Name}" />
                 <TextBlock Grid.Column= "2" Text= "{Binding XPath=Balance}" />
             </Grid>        
         </DataTemplate>        
         <Style x:Key= "myListViewItemStyle" >
             <Setter Property= "ListViewItem.Background" Value= "Yellow" />
         </Style>    
     </Window.Resources>
     <Grid>
         <ListView ItemsSource= "{Binding Source={StaticResource myXML}}" ItemTemplate= "{Binding myTemplate}"
                   Style= "{StaticResource myListViewItemStyle}" Height= "200" ></ListView>
     </Grid>
</Window>

效果如上图。

原文地址:http://blog.csdn.net/samsone/article/details/7195365

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值