Please help me figure out how to bind custom class collection to datagrid combobox. My custom class is
class Test: INotifyPropertyChanged
{
public String Name { get; set; }
public UserAvailableValue SelectedAvailableValue { get; set; }
public ObservableCollection<useravailablevalue> AvailableValues { get; set; }
public ObservableCollection<string> DefaultValues { get; set; }
public String SelectedValue { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public class UserAvailableValue
{
public Object Value { get; set; }
public Object Label { get; set; }
}
From code behind, i am setting DataGrid Datacontext i.g.
ObservableCollection<test> UIParams = new ObservableCollection<test>();
dgReportparameters.DataContext = UIParams;
//XAML Code
<datagrid name="dgReportparameters" itemssource="{Binding}">
AutoGenerateColumns="False">
<datagrid.columns>
<datagridtextcolumn header="Name" binding="{Binding Name}" />
<datagridcomboboxcolumn header="Available Values" selecteditembinding="<br" mode="hold" /> "{Binding SelectedAvailableValue, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Label">
<datagridcomboboxcolumn.elementstyle>
<Style TargetType="ComboBox">
<setter property="ItemsSource" value="{Binding Path=AvailableValues, <br mode=" hold=" /> RelativeSource={RelativeSource AncestorType=Window}}" />
</Style>
</datagridcomboboxcolumn.elementstyle>
<datagridtextcolumn header="Default Values" binding="{Binding SelectedValue}" />
<datagridcheckboxcolumn header="Nullable" binding="{Binding IsNullable}" />
</datagrid.columns>
</datagrid>
Except DataGridComboBoxColumn other columns are showing correct values.DataGridComboBoxColumn is showing blank column. UIParams collection has multiple parameters while each parameter has name and Available values and one default value. I want to show paramters in datagrid and let user select one/multiple values from Available column combobox. Each parameter has its own set of available values. Most of the example i found have Common collection in dropdown but in my case each row of datagrid has different available values.
Please help me to have combobox in datagrid.
Thanks in advance.