wpf中实现数据的逐条加载显示效果
2012-02-05 21:22
399 查看
xaml ================================
[code]
<Window x:Class="ThreadedWpfExplorer.Window2"
Loaded="Window_Loaded"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300">
<Window.Resources>
<DataTemplate x:Key="listBoxTemplate">
<TextBlock Text ="{Binding Name}"
Padding="2" FontFamily="宋体" FontWeight="Normal" FontSize="12px" />
</DataTemplate>
</Window.Resources>
<Grid>
<ListBox Name="lst" Margin="0,68,0,0" ItemTemplate="{StaticResource listBoxTemplate}">
</ListBox>
<Button Content="Button" Height="27" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="78" Click="button1_Click" />
</Grid>
</Window>
cs ===================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace ThreadedWpfExplorer
{
/// <summary>
/// Window2.xaml 的交互逻辑
/// </summary>
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
private void button1_Click(object sender, RoutedEventArgs e)
{
List<Employee> _employees = new List<Employee>();
for (int i = 0; i < 100; i++)
{
Employee temp = new Employee();
temp.name = "aaa" + i.ToString();
_employees.Add(temp);
}
lst.ItemsSource = _employees;
}
}
public class Employee
{
public string name=string.Empty ;
public string Name
{
get { return name; }
set { name=value ;}
}
}
}
//-----------------------------------------------------------------------
ThreadPool.QueueUserWorkItem(delegate
{
for (int i = 0; i <= 100 && Application.Current != null; i++)
{
Application.Current.Dispatcher.BeginInvoke((Action)delegate
{
Employee temp = new Employee();
temp.name = "aaa" + i.ToString();
_employees.Add(temp);
lst.SelectedItem = temp;
lst.ScrollIntoView(temp);
});
Thread.Sleep(100);
}
});
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- wpf中实现数据的逐条加载显示效果
- wpf 客户端【JDAgent桌面助手】开发详解(三) 瀑布流效果实现与UI虚拟化优化大数据显示
- [给力原创]使用jQuery-ajax仿新浪微博通知折叠/显示效果,实现数据加载
- [给力原创]使用jQuery-ajax仿新浪微博通知折叠/显示效果,实现数据加载(二)
- 纯js实现分页 原理:所有数据已加载好,js通过遍历部分显示,实现分页效果
- 纯js实现分页 原理:所有数据已加载好 js通过遍历部分显示 实现分页效果
- WPF 大数据加载过程中的等待效果——圆圈转动
- 实现微信和QQ图片加载显示进度的效果-LoadingProgress
- Android实现仿美团、顺丰快递数据加载效果
- JavaScript代码实现图片延迟加载并淡入淡出显示效果
- AngularJS中,联合使用ng-repeat和ng-if,可以实现对数据删选显示效果,特别适合于用作表单数据的显示
- dhtml xgrid实现前台大数据延迟加载效果
- 【转】WPF防止界面卡死并显示加载中效果
- 关于jquery解析json数据时动态追加tr 指定条数换行问题 实现list的 并列显示效果
- Bootstrap-Table实现从服务器加载数据进行显示
- Android下拉刷新库,利用viewdraghelper实现,集成了下拉刷新,底部加载更多,数据初始加载显示loading等功能
- jquery mobile关于使用iscroll动态加载数据实现下拉刷新和上拉的效果
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- 关于Scrollview嵌套listview数据显示不全,上拉加载没效果问题
- 将数据加载时显示的图片和文字提成公共的--实现方法