我試圖找到一個WPF DataGrid綁定到一個未知的數字,我從一個製表符分隔文本文件中讀取字符串的方法。我有我設置的DataContext在後面的代碼視圖,和我計算過,我只想建立數據網格在構造函數代碼:C#WPF的Datagrid綁定到的ObservableCollection成員
public MainWindow(FileParametersViewModel vm)
{
InitializeComponent();
DataContext = vm;
dataGrid.ItemsSource = vm.lParams;
for (int i = 0; i < vm.ParamNames.Count(); i++)
{
DataGridTextColumn col = new DataGridTextColumn();
col.Binding = vm.lParams.pArray[i];
col.Header = vm.ParamNames[i];
dataGrid.Columns.Add(col);
}
}
視圖模型有我想要一個ObservableCollection lParams到結合數據網格到:
private ObservableCollection<FileSheetParameters> _lParams;
public ObservableCollection<FileSheetParameters> lParams
{
get { return _lParams; }
set
{
if (value != _lParams)
{
_lParams = value;
NotifyPropertyChanged("lParams");
}
}
}
每一列將被綁定到FileSheetParameters內的列表中的一員(粒子陣列):
public class FileSheetParameters
{
public FileSheetParameters()
{
SheetExists = false;
IsPlaceholder = false;
pArray = null;
}
public bool SheetExists { get; set; }
public bool IsPlaceholder { get; set; }
public List<string> pArray { get; set; }
}
我填充從E列表正如我在閱讀文本文件的ACH線。
我的問題是,我不能實際引用lParams.pArray正如我在第一個代碼塊做。我得到一個編譯時錯誤(和紅色波浪也行)。「的ObservableCollection不包含定義爲‘粒子陣列’,但粒子陣列是類的東西,都在收集。的成員。我在做什麼錯?
如果我只是設置數據網格的Items源,並且不執行任何列特定綁定,那麼我會得到一個空網格,最後一列標題爲pArray,每個單元格顯示「(Collection)」。 。我已經使用了一個DataTable的,而不是一個ObservableCollection,但這種行爲是不是我喜歡