[索引页]
[源码下载]
作者:webabcd
介绍
Silverlight 3.0 控件一览:
在线DEMO
http://www.voidcn.com/article/p-boakcggz-tq.html
示例
1、演示 autocompletebox(一次绑定全部数据或按需加载相关数据)
autocompletebox.xaml
2、演示 DataPager
DataPager.xaml
[源码下载]
稳扎稳打Silverlight(33) - 3.0控件之autocompletebox,DataPager
作者:webabcd
介绍
Silverlight 3.0 控件一览:
- autocompletebox - 自动完成控件。当用户输入部分信息后,此控件可以基于指定的过滤算法在一个下拉框中陈列出匹配项
- DataPager - 分页控件
在线DEMO
http://www.voidcn.com/article/p-boakcggz-tq.html
示例
1、演示 autocompletebox(一次绑定全部数据或按需加载相关数据)
autocompletebox.xaml
<navigation:Page xmlns:input="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input" x:Class="Silverlight30.Control.autocompletebox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
d:DesignWidth="640" d:DesignHeight="480"
Title="autocompletebox Page">
<Grid x:Name="LayoutRoot">
<Grid.Resources>
<!--用于在 autocompletebox 中显示数据的模板-->
<DataTemplate x:Key="dataTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="名字: " />
<TextBlock Text="{Binding Name}" />
<TextBlock Text="薪水: " />
<TextBlock Text="{Binding Salary}" />
</StackPanel>
</DataTemplate>
</Grid.Resources>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
<!--
MinimumPrefixLength - 如需显示自动完成的匹配项,所需输入的最少字符数
IsTextCompletionEnabled - 是否在 Text 中显示当前匹配项的全部内容
MaxDropDownHeight - 下拉框的最大长度
FilterMode - 根据用户的输入,对数据源做过滤的方式,默认值:StartsWith [System.Windows.Controls.AutoCompleteFilterMode 枚举]
本例演示如何实现自定义的过滤
DropDownopening,DropDownopened,DropDownClosing,DropDownClosed - 顾名思义的几个事件
-->
<input:autocompletebox x:Name="autocompletebox" Width="100" Height="30" Margin="10"
MinimumPrefixLength="0" IsTextCompletionEnabled="True" MaxDropDownHeight="100"
FilterMode="Custom">
<!--
呈现数据的方式如下,也可以设置 autocompletebox 的 ValueMemberBinding 属性
-->
<input:autocompletebox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</input:autocompletebox.ItemTemplate>
</input:autocompletebox>
<!--
ValueMemberPath - 在此属性指定的成员中做过滤,过滤参数为用户的输入
ItemTemplate - 指定用于显示数据的模板
-->
<input:autocompletebox x:Name="autocompleteboxTemplate" Width="100" Height="30" Margin="10"
ValueMemberPath="Salary"
ItemTemplate="{StaticResource dataTemplate}" />
<!--
Populating,Populated - 调用 按需加载数据服务 的一对事件
MinimumPopulateDelay - 调用 按需加载数据服务 的延迟时间。即在用户的输入发生改变时,此时间后调用指定的服务
-->
<input:autocompletebox x:Name="autocompleteboxPopulate" Width="100" Height="30" Margin="10"
Populating="autocompleteboxPopulate_Populating"
MinimumPopulateDelay="500">
<input:autocompletebox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</input:autocompletebox.ItemTemplate>
</input:autocompletebox>
</StackPanel>
</Grid>
</navigation:Page>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
d:DesignWidth="640" d:DesignHeight="480"
Title="autocompletebox Page">
<Grid x:Name="LayoutRoot">
<Grid.Resources>
<!--用于在 autocompletebox 中显示数据的模板-->
<DataTemplate x:Key="dataTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="名字: " />
<TextBlock Text="{Binding Name}" />
<TextBlock Text="薪水: " />
<TextBlock Text="{Binding Salary}" />
</StackPanel>
</DataTemplate>
</Grid.Resources>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
<!--
MinimumPrefixLength - 如需显示自动完成的匹配项,所需输入的最少字符数
IsTextCompletionEnabled - 是否在 Text 中显示当前匹配项的全部内容
MaxDropDownHeight - 下拉框的最大长度
FilterMode - 根据用户的输入,对数据源做过滤的方式,默认值:StartsWith [System.Windows.Controls.AutoCompleteFilterMode 枚举]
本例演示如何实现自定义的过滤
DropDownopening,DropDownopened,DropDownClosing,DropDownClosed - 顾名思义的几个事件
-->
<input:autocompletebox x:Name="autocompletebox" Width="100" Height="30" Margin="10"
MinimumPrefixLength="0" IsTextCompletionEnabled="True" MaxDropDownHeight="100"
FilterMode="Custom">
<!--
呈现数据的方式如下,也可以设置 autocompletebox 的 ValueMemberBinding 属性
-->
<input:autocompletebox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</input:autocompletebox.ItemTemplate>
</input:autocompletebox>
<!--
ValueMemberPath - 在此属性指定的成员中做过滤,过滤参数为用户的输入
ItemTemplate - 指定用于显示数据的模板
-->
<input:autocompletebox x:Name="autocompleteboxTemplate" Width="100" Height="30" Margin="10"
ValueMemberPath="Salary"
ItemTemplate="{StaticResource dataTemplate}" />
<!--
Populating,Populated - 调用 按需加载数据服务 的一对事件
MinimumPopulateDelay - 调用 按需加载数据服务 的延迟时间。即在用户的输入发生改变时,此时间后调用指定的服务
-->
<input:autocompletebox x:Name="autocompleteboxPopulate" Width="100" Height="30" Margin="10"
Populating="autocompleteboxPopulate_Populating"
MinimumPopulateDelay="500">
<input:autocompletebox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</input:autocompletebox.ItemTemplate>
</input:autocompletebox>
</StackPanel>
</Grid>
</navigation:Page>
EmployeeModel.cs
autocompletebox.xaml.cs
2、演示 DataPager
DataPager.xaml
<navigation:Page xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" x:Class="Silverlight30.Control.DataPager"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
d:DesignWidth="640" d:DesignHeight="480"
Title="DataPager Page">
<Grid x:Name="LayoutRoot">
<StackPanel>
<!--
PageSize - 页大小
NumericButtonCount - 数字分页按钮的数量
AutoEllipsis - 当页总数大于分页按钮的数量时,是否自动显示省略号
IsTotalItemCountFixed - 数据量是否是不变的(即是否没有对当前绑定数据的添加/删除操作)
displayMode - 分页控件的显示模式 [System.Windows.Controls.Data.PagerdisplayMode 枚举]
-->
<StackPanel Margin="10" >
<data:DataPager x:Name="dataPager"
PageSize="6" NumericButtonCount="10" AutoEllipsis="True"
displayMode="FirstLastPrevIoUsNext"
IsTotalItemCountFixed="True">
</data:DataPager>
<ListBox x:Name="listBox" />
<data:DataPager x:Name="dataPager2"
PageSize="6" NumericButtonCount="10" AutoEllipsis="True"
displayMode="FirstLastPrevIoUsNextNumeric"
IsTotalItemCountFixed="True">
</data:DataPager>
</StackPanel>
</StackPanel>
</Grid>
</navigation:Page>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
d:DesignWidth="640" d:DesignHeight="480"
Title="DataPager Page">
<Grid x:Name="LayoutRoot">
<StackPanel>
<!--
PageSize - 页大小
NumericButtonCount - 数字分页按钮的数量
AutoEllipsis - 当页总数大于分页按钮的数量时,是否自动显示省略号
IsTotalItemCountFixed - 数据量是否是不变的(即是否没有对当前绑定数据的添加/删除操作)
displayMode - 分页控件的显示模式 [System.Windows.Controls.Data.PagerdisplayMode 枚举]
-->
<StackPanel Margin="10" >
<data:DataPager x:Name="dataPager"
PageSize="6" NumericButtonCount="10" AutoEllipsis="True"
displayMode="FirstLastPrevIoUsNext"
IsTotalItemCountFixed="True">
</data:DataPager>
<ListBox x:Name="listBox" />
<data:DataPager x:Name="dataPager2"
PageSize="6" NumericButtonCount="10" AutoEllipsis="True"
displayMode="FirstLastPrevIoUsNextNumeric"
IsTotalItemCountFixed="True">
</data:DataPager>
</StackPanel>
</StackPanel>
</Grid>
</navigation:Page>
DataPager.xaml.cs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。