1
我有一個簡單的DataGrid,我綁定到一個ObservableCollection並且它在Grid中沒有數據可見的情況下生成黑色小行。我正在使用ObservableCollection,因爲我使用Reflection在RunTime中構建了集合。DataGrid綁定到ObservableCollection時顯示空行<Object>
我做這樣的事情 XAML
<DataGrid ItemsSource="{Binding Data}" />
C#
public ObservableCollection<object> Data
{
get { return _Data; }
set {
this._deals = value;
this.NotifyPropertyChanged("Deals");
}
}
public Run()
{
this.Data = CreateData(typeof(MyRecordClass)) //'MyRecordClass' needs to be passed at runtime
}
public ObservableCollection<Object> CreateData(Type RecordType)
{
ObservableCollection<Object> data = new ObservableCollection<object>();
var record = Activator.CreateInstance(RecordType);
// Logic to load the record with Data
data.Add(record);
return data;
}
有沒有一種方式,我可以在DataGrid讀一個ObservableCollection沒有指定COLUMNNAMES或創建的ObservableCollection對象在CreateData函數中?
有沒有簡單的是投的ObservableCollection
使其類型或記錄(如ObservableCollection),或使通用方法。或者,如果您真的想要投射它,請使用linq通用投射方法。 (collection.Cast ()) –
謝謝你們。我用下面的和它的工作 私人的ObservableCollection ConvertObservationClass(IEnumerable的的ObservableCollection) {VAR 數據=新的ObservableCollection (); foreach(var item in observableCollection) { data.Add((RecordType)item); } 返回數據; } –
user1647334