2014-02-12 105 views
0

我想让公共属性获取并设置从datagrid获得的对象。 我有datagrid有3列与文本和3列与复选框。 当我选中该复选框,我得到全行的值列表像这样的一个:属性和对象C#

var selectedItemsController = MyObsCollection.Where(n => n.Controller).ToList(); 

这是与在所有3个字符串值(和复选框的所有3个布尔值)对象的列表同一行中名为Controller的列中的复选框是。

MyObsCollection也是的ObservableCollection公共财产,他们是这样定义的:

ObservableCollection<RowData> _obsCollection = 
           new ObservableCollection<RowData>(); 
public ObservableCollection<RowData> MyObsCollection 
{ 
    get { return _obsCollection; } 
} 

rowData是一个我的类龋齿的模型,我需要和它的定义是这样的:

public class RowData : INotifyPropertyChanged 
{ 
    public string Type { get; set; } 
    public string MapTo { get; set; } 
    public string Name { get; set; } 
    public bool Controller { get; set; } 
    public bool Service { get; set; } 
    public bool Injection { get; set; } 

    public RowData(string type, string mapTo, string name) 
    { 
     Type = type; 
     MapTo = mapTo; 
     Name = name; 
    } 

我试图做的是为该对象列表创建一个公共属性(位于selectedItemsController中),以便我可以在其他类中使用它。

例如,我正在为一些也是WindowsForm的一部分的Area命名。我从一些文本框取的名字,使公共财产是这样的:

public string AreaName 
     { 
      get { return AreaNameValue.Text; } 
      set { AreaNameValue.Text = value; } 
     } 

而在这之后,我能够做到这一点在其他类:

var areaName = areaDialog.AreaName.Trim(); 

所以最后我的问题是,是否有人知道如何为DataRow对象创建相同的公共属性,如果DataGrid的名称是例如:tabela? DataGrid中是否有一些我可以使用的定义? (比如'Text'属性用于InputTextBoxes)。

回答

0

您可以将您的selectedItemsController设置为DataGrid的datacontext。然后你可以在selectedItemsController本身上设置和获取值。