您的位置:首页 > 其它

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; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐