zoukankan      html  css  js  c++  java
  • WPF更新数据源

    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.Navigation;
    using System.Windows.Shapes;

    using System.ComponentModel;

    namespace Leo.WpfTest
    {
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    this.InitData();
    }

    internal void InitData()
    {
    IList<ModCls> modsCls = new List<ModCls>();
    for (int i = 0; i < 60; i++)
    {
    ModCls mod = new ModCls();
    mod.A = "A" + i;
    mod.B = "B" + i;
    mod.C = "C" + i;

    modsCls.Add(mod);
    }

    this.gridCls.ItemsSource = modsCls;
    this.gridCls.RefreshData();

    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
    ModCls mod = new ModCls();
    mod.A = "A0";
    mod.B = "BB";
    mod.C = "CC";

    IList<Leo.WpfTest.ModCls> temp = this.gridCls.ItemsSource as List<Leo.WpfTest.ModCls>;
    IList<Leo.WpfTest.ModCls> tempA = (from p in temp
    where p.A == mod.A
    select p).ToList();
    if (tempA != null && tempA.Count > 0)
    {

    for (int i = 0; i < temp.Count; i++)
    {
    if (temp[i].A == mod.A)
    {
    temp[i] = mod;
    continue;
    }
    }

    this.gridCls.RefreshData();
    }
    }
    }

    public class ModCls : INotifyPropertyChanged
    {
    public event PropertyChangedEventHandler PropertyChanged;

    private string a;
    public string A
    {
    set
    {
    a = value;
    if (PropertyChanged != null)//有改变
    {
    PropertyChanged(this, new PropertyChangedEventArgs("A"));
    }
    }
    get
    {
    return a;
    }
    }
    private string b;
    public string B
    {
    set
    {
    b = value;
    if (PropertyChanged != null)//有改变
    {
    PropertyChanged(this, new PropertyChangedEventArgs("B"));
    }
    }
    get
    {
    return b;
    }
    }
    private string c;
    public string C
    {
    set
    {
    c = value;
    if (PropertyChanged != null)//有改变
    {
    PropertyChanged(this, new PropertyChangedEventArgs("C"));
    }
    }
    get
    {
    return c;
    }
    }
    }
    }

  • 相关阅读:
    INode满的处理方法
    分布式转码集群思路
    FreeBSD Set a Default Route / Gateway
    ssh遇到port 22:No route to host问题的解决方法
    debian 开启SSH
    virsh 查看信息
    virsh console配置
    virsh console hangs at the escape character “^]”
    virt-install命令---详解
    kmv 学习笔记 工具
  • 原文地址:https://www.cnblogs.com/binbinxiong/p/3721245.html
Copyright © 2011-2022 走看看