1 | initial version |
To bind a DataGridComboBoxColumn to an ObservableCollection, you can follow these steps:
public ObservableCollection<string> MyCollection { get; set; }
MyCollection = new ObservableCollection<string>();
MyCollection.Add("Item1");
MyCollection.Add("Item2");
MyCollection.Add("Item3");
<DataGridComboBoxColumn Header="My Combo Column"
SelectedItemBinding="{Binding SelectedItemProperty}"
ItemsSource="{Binding MyCollection}"
DisplayMemberPath="."/>
private string _selectedItem;
public string SelectedItemProperty
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged(nameof(SelectedItemProperty));
}
}
public class MyViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
public MainWindow()
{
InitializeComponent();
DataContext = new MyViewModel();
}
With these steps, you will be able to bind your DataGridComboBoxColumn to your ObservableCollection.