我想制作公共属性,获取并设置我从datagrid获得的对象。 我有datagrid有3列文本和3列复选框。 当我选中其中一个复选框时,我会在列表中获得整行的值,如下所示:
var selectedItemsController = MyObsCollection.Where(n => n.Controller).ToList();
这是一个对象列表,其中包含所有3个字符串值(以及所有3个复选框的bool值),它们位于同一行,其中名为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的一部分。我从一些文本框中取名,然后像这样制作公共财产:
public string AreaName
{
get { return AreaNameValue.Text; }
set { AreaNameValue.Text = value; }
}
之后我能够在其他课堂上做到这一点:
var areaName = areaDialog.AreaName.Trim();
所以最后我的问题是,如果DataGrid的名称是例如:tabela,有人知道如何为DataRow对象创建相同的公共属性?我可以使用DataGrid中已定义的内容吗? (比如'Text'属性用于InputTextBoxes。)
答案 0 :(得分:0)
您可以将selectedItemsController设置为DataGrid的datacontext。然后,您可以在selectedItemsController本身上设置和获取值。