I want to combine the below collection and bind it to DataGrid by using CompositeCollection.
private ObservableCollection<LabelDataInfo> labelSource;
public ObservableCollection<LabelDataInfo> LabelSource
{
get { return labelSource; }
set { labelSource = value; }
}
private ObservableCollection<NumericalDataInfo> numericLabelSource;
public ObservableCollection<NumericalDataInfo> NumericLabelSource
{
get { return numericLabelSource; }
set { numericLabelSource = value; }
}
private CompositeCollection mergedSource;
public CompositeCollection MergedSource
{
get { return mergedSource; }
set { mergedSource = value; OnPropertyChanged("MergedSource"); }
}
public MergedTargetDataInfo()
{
var labelInfo = new ObservableCollection<LabelDataInfo>();
labelInfo.Add(new LabelDataInfo() { Title = "Title1", Label = "Label1" });
labelInfo.Add(new LabelDataInfo() { Title = "Title2", Label = "Label2" });
labelInfo.Add(new LabelDataInfo() { Title = "Title3", Label = "Label3" });
LabelSource = labelInfo;
var numericInfo = new ObservableCollection<NumericalDataInfo>();
numericInfo.Add(new NumericalDataInfo() { NumericTitle = "NumericTitle1", NumericLabel = "NLabel1" });
numericInfo.Add(new NumericalDataInfo() { NumericTitle = "NumericTitle2", NumericLabel = "NLabel2" });
numericInfo.Add(new NumericalDataInfo() { NumericTitle = "NumericTitle3", NumericLabel = "NLabel3" });
NumericLabelSource = numericInfo;
mergedSource = new CompositeCollection();
CollectionContainer collection1 = new CollectionContainer() { Collection = LabelSource };
CollectionContainer collection2 = new CollectionContainer() { Collection = NumericLabelSource };
mergedSource.Add(collection1);
mergedSource.Add(collection2);
}
<DataGrid ItemsSource="{Binding MergedSource}" AutoGenerateColumns="True"/>
But it shown as empty grid. How to merge Label and NumericLabelDataSource in wpf? How to display combosite collection in DataGrid control. DataGrid is empty when try to binding the CompositeCollection.