wpf listView 始终显示最新五条
来源:互联网 发布:杭州麦苗网络怎么样 编辑:程序博客网 时间:2024/05/01 21:53
public partial class MainWindow : Window { ObservableCollection<Class1> items = new ObservableCollection<Class1>(); public MainWindow() { InitializeComponent(); #region 定时器事件 Timer aTimer = new Timer(); aTimer.Elapsed += new ElapsedEventHandler(TimedEvent); aTimer.Interval = 1000; //配置文件中配置的秒数 aTimer.Enabled = true; #endregion } private void TimedEvent(object source, ElapsedEventArgs e) { this.Dispatcher.BeginInvoke((Action)delegate() { Class1 cl = new Class1(); cl.date = DateTime.Now.ToLocalTime().ToString(); items.Add(cl); listView.ItemsSource = items.OrderByDescending(t => t.date).Take(5); }); } public class Class1 : DependencyObject { public string date { get { return (string)GetValue(dateProperty); } set { SetValue(dateProperty, value); } } // Using a DependencyProperty as the backing store for date. This enables animation, styling, binding, etc... public static readonly DependencyProperty dateProperty = DependencyProperty.Register("date", typeof(string), typeof(Class1), null); } }
<ListView ScrollViewer.VerticalScrollBarVisibility="Hidden" x:Name="listView" DataContext="{Binding}" SelectionMode="Extended"> <ListView.View> <GridView> <GridViewColumn Header="时间" Width="150" DisplayMemberBinding="{Binding date,Mode=OneWay}" /> </GridView> </ListView.View> </ListView>