• 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="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        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>
    

    效果如上图。

     

  • 相关阅读:
    30天敏捷结果(2):用三个故事驱动你的一周
    30天敏捷结果(24):恢复你的精力
    30天敏捷结果(6):周五回顾,找到三件做的好以及三件需要改善的事情
    js 数组循环和迭代
    没有+求和
    js检测数组类型
    redis 在windows 下的安装和使用
    版本控制(一)——初步概念
    苹果树的故事(转发的)
    mongoDB之在windows下的安装
  • 原文地址:https://www.cnblogs.com/linlf03/p/2140127.html
Copyright © 2020-2023  润新知