WPF 데이터 격자를 탭으로 구분 된 텍스트 파일에서 읽은 알 수없는 문자열에 바인딩하는 방법을 찾으려고합니다. 나는 뒤에 코드에서의 데이터 컨텍스트를 설정 뷰를 가지고 있고, 난 그냥이 같은 생성자 코드에서 데이터 그리드를 설정하는 것이라고 생각 : 뷰 모델은 내가하려는 ObservableCollection에의 lParam의에있다C# WPF ObagtableCollection 멤버에 바인딩 된 Datagrid
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);
}
}
나는 전자의 목록을 채울
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; }
}
:
private ObservableCollection<FileSheetParameters> _lParams;
public ObservableCollection<FileSheetParameters> lParams
{
get { return _lParams; }
set
{
if (value != _lParams)
{
_lParams = value;
NotifyPropertyChanged("lParams");
}
}
}
각 열은 FileSheetParameters 내 목록의 구성원 (pArray)에 바인딩됩니다에 데이터 그리드를 바인딩 내가 읽었을 때 텍스트 파일의 ach 행
내 문제는 내가 첫 번째 코드 블록에서와 같이 실제로 lParams.pArray를 참조 할 수 없다는 것입니다. "ObservableCollection에 'pArray'에 대한 정의가 포함되어 있지 않은데 컴파일 타임 오류가 발생합니다. (그리고 빨간색으로 구불 구불 한 것입니다.)하지만 pArray는 컬렉션에있는 클래스의 멤버입니다. ?
방금 데이터 그리드의 항목 소스를 설정하고 열 특정 바인딩을 수행하지 않으면 pArray라는 제목의 마지막 열이있는 빈 그리드가 표시되고 각 셀에는 "(컬렉션)"이 표시됩니다. .. 내가 대신 ObservableCollection에의 DataTable을 사용했지만, 그 행동은 내가 좋아하는 것이 아니다 이것은 밤새 나를 도청