访问ObservableCollection

时间:2018-03-26 17:33:27

标签: c# wpf

我问我们如何加入ObservableCollection。 实际上我正在处理一个项目,我必须在ObservableCollection中收集已检查的元素,以便将这些元素复制到PDF文件中。

public Class FianlElements
{
    private int chapAr;

    public int ChapAr
    {
        get { return chapAr; }
        set
        {
            chapAr = value;
            OnPropertyChanged("ChaprAr");
            OnPropertyChanged("Article");
        }
    }

    private string article;

    public string Article
    {
        get { return article; }
        set
        {
            article = value;
            OnPropertyChanged("ChapAr");
            OnPropertyChanged("Article");
        }
    }

    private float somme;

    public float Somme
    {
        get { return somme; }
        set
        {
            somme = value;
            OnPropertyChanged("Somme");
        }
    }


    public event PropertyChangedEventHandler PropertyChanged;
    private void OnPropertyChanged(string propertySomme)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new 
            PropertyChangedEventArgs(propertySomme));
    }
}

实际上这是ObservableCollection类型的类 我对ObservableCollection的声明就在这里

public ObservableCollection<FinalSelection> LesElem { get; set; }

我有另一个ObservableCollection

public ObservableCollection<ListBoxArticle> LesArticles { get; set; }

这个被绑定到一个包含CheckBox和TextBox的ListBox like this 所以我想只将选中的元素复制到&#34; LesElem&#34;

那么如何才能访问此ObservableCollection 感谢名单

1 个答案:

答案 0 :(得分:-1)

让我们想象一下你对LesArticle感兴趣了。

LesArticle上有一个IsChecked属性。

这与复选框的IsChecked属性绑定。

已检查的列表将是

var checkedList = LesArticle.Where(x => x.IsChecked == true).ToList(); 

Observablecollection可以将List作为构造函数。所以你可以这样做:

FinalElem = new ObservableCollection<ListBoxArticle>(checkedList);