[索引页]
[源码下载]


稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager


作者:webabcd


介绍
Silverlight 3.0 控件一览:
  • AutoCompleteBox - 自动完成控件。当用户输入部分信息后,此控件可以基于指定的过滤算法在一个下拉框中陈列出匹配项
  • DataPager - 分页控件 


在线DEMO
http://www.cnblogs.com/webabcd/archive/2009/08/04/1538238.html


示例
1、演示 AutoCompleteBox(一次绑定全部数据或按需加载相关数据)
AutoCompleteBox.xaml
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager<navigation:Page xmlns:input="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input"  x:Class="Silverlight30.Control.AutoCompleteBox" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           mc:Ignorable
="d"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:navigation
="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           d:DesignWidth
="640" d:DesignHeight="480"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           Title
="AutoCompleteBox Page">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager    
<Grid x:Name="LayoutRoot">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
<Grid.Resources>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<!--用于在 AutoCompleteBox 中显示数据的模板-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<DataTemplate x:Key="dataTemplate">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<StackPanel Orientation="Horizontal">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<TextBlock Text="名字: " />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<TextBlock Text="{Binding Name}" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<TextBlock Text="薪水: " />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<TextBlock Text="{Binding Salary}" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
</DataTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
</Grid.Resources>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<!--
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                MinimumPrefixLength - 如需显示自动完成的匹配项,所需输入的最少字符数
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                IsTextCompletionEnabled - 是否在 Text 中显示当前匹配项的全部内容
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                MaxDropDownHeight - 下拉框的最大长度
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                FilterMode - 根据用户的输入,对数据源做过滤的方式,默认值:StartsWith [System.Windows.Controls.AutoCompleteFilterMode 枚举]
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    本例演示如何实现自定义的过滤
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                DropDownOpening, DropDownOpened, DropDownClosing, DropDownClosed - 顾名思义的几个事件
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<input:AutoCompleteBox x:Name="autoCompleteBox" Width="100" Height="30" Margin="10"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   MinimumPrefixLength
="0" IsTextCompletionEnabled="True" MaxDropDownHeight="100"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   FilterMode
="Custom">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<!--
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    呈现数据的方式如下,也可以设置 AutoCompleteBox 的 ValueMemberBinding 属性
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<input:AutoCompleteBox.ItemTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<DataTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                        
<StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            
<TextBlock Text="{Binding}" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                        
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
</DataTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
</input:AutoCompleteBox.ItemTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
</input:AutoCompleteBox>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<!--
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                ValueMemberPath - 在此属性指定的成员中做过滤,过滤参数为用户的输入
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                ItemTemplate - 指定用于显示数据的模板
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<input:AutoCompleteBox x:Name="autoCompleteBoxTemplate" Width="100" Height="30" Margin="10"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   ValueMemberPath
="Salary"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   ItemTemplate
="{StaticResource dataTemplate}" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<!--
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                Populating, Populated - 调用 按需加载数据服务 的一对事件
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                MinimumPopulateDelay - 调用 按需加载数据服务 的延迟时间。即在用户的输入发生改变时,此时间后调用指定的服务
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<input:AutoCompleteBox x:Name="autoCompleteBoxPopulate" Width="100" Height="30" Margin="10" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   Populating
="autoCompleteBoxPopulate_Populating"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                                   MinimumPopulateDelay
="500">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<input:AutoCompleteBox.ItemTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
<DataTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                        
<StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            
<TextBlock Text="{Binding}" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                        
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                    
</DataTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
</input:AutoCompleteBox.ItemTemplate>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
</input:AutoCompleteBox>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager    
</Grid>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
</navigation:Page>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager

EmployeeModel.cs
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPagerusing System;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Net;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Controls;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Documents;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Ink;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Input;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media.Animation;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Shapes;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
namespace Silverlight30.Model

AutoCompleteBox.xaml.cs
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPagerusing System;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Collections.Generic;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Linq;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Net;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Controls;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Documents;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Input;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media.Animation;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Shapes;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Navigation;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using Silverlight30.Model;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Xml.Linq;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
namespace Silverlight30.Control


2、演示 DataPager
DataPager.xaml
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager<navigation:Page xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"  x:Class="Silverlight30.Control.DataPager" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:d
="http://schemas.microsoft.com/expression/blend/2008"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:mc
="http://schemas.openxmlformats.org/markup-compatibility/2006"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           mc:Ignorable
="d"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           xmlns:navigation
="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           d:DesignWidth
="640" d:DesignHeight="480"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager           Title
="DataPager Page">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager    
<Grid x:Name="LayoutRoot">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
<StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<!--
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                PageSize - 页大小
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                NumericButtonCount - 数字分页按钮的数量
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                AutoEllipsis - 当页总数大于分页按钮的数量时,是否自动显示省略号
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                IsTotalItemCountFixed - 数据量是否是不变的(即是否没有对当前绑定数据的添加/删除操作)
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                DisplayMode - 分页控件的显示模式 [System.Windows.Controls.Data.PagerDisplayMode 枚举]
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
-->
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
<StackPanel Margin="10" >
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<data:DataPager x:Name="dataPager"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            PageSize
="6" NumericButtonCount="10" AutoEllipsis="True"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            DisplayMode
="FirstLastPreviousNext" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            IsTotalItemCountFixed
="True">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
</data:DataPager>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<ListBox x:Name="listBox" />
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
<data:DataPager x:Name="dataPager2"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            PageSize
="6" NumericButtonCount="10" AutoEllipsis="True"
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            DisplayMode
="FirstLastPreviousNextNumeric" 
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                            IsTotalItemCountFixed
="True">
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager                
</data:DataPager>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager            
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager        
</StackPanel>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager    
</Grid>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
</navigation:Page>
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager

DataPager.xaml.cs
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPagerusing System;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Collections.Generic;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Linq;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Net;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Controls;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Documents;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Input;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Media.Animation;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Shapes;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Navigation;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Windows.Data;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
using System.Xml.Linq;
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
namespace Silverlight30.Control


OK
[源码下载]

相关文章: