I have tried for days now to add a combo box in a data grid using MVVM and Caliburn.Micro.
I have tried almost every suggestion out I could find - no luck!
My Xaml is in a user control - Name and Test are showing fine!
XAML:
<DataGrid x:Name="Players" AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" VerticalAlignment="Top" Width="308">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Test" Binding="{Binding Position}"/>
<DataGridComboBoxColumn x:Name="ComboBoxColumn" Header="Position" SelectedItemBinding="{Binding Position}"/>
</DataGrid.Columns>
</DataGrid>
ViewModel:
public class MissingCTypeViewModel : Screen, INotifyPropertyChanged
{
public ObservableCollection<Player> Players { get; set; }
public ObservableCollection<string> Positions { get; set; }
public MissingCTypeViewModel()
{
Positions = new ObservableCollection<string>() { "Forward", "Defense", "Goalie" };
Players = new ObservableCollection<Player>(){
new Player() {Name = "Tom",Position= "Forward"},
new Player() {Name = "Dick", Position= "Defense"},
new Player() {Name = "Harry", Position= "Goalie"}
};
//ComboBoxColumn.ItemsSource = Positions;
//dataGrid1.ItemsSource = Players;
}
}
public class Player
{
public string Name { set; get; }
public string Position { set; get; }
}
Result: