WPF DataGrid Combobox
I want to display a dropdown menu in a datagrid with different values ββthat the user can select. Somehow I cannot display the ComboBox, instead it just displays the value as if it were a normal TextColumn. Below is my code,
<StackPanel Grid.Row="0">
<toolkit:DataGrid Name="definitionGrid" Margin="0,10,0,0" AutoGenerateColumns="False"
CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True"
RowHeight="25" FontWeight="Normal" ItemsSource="{Binding Profile}"
SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Auto" Width="450"
ScrollViewer.VerticalScrollBarVisibility="Auto" Height="200">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Header="Name" Width="80" Binding="{Binding Name}" CellStyle="{StaticResource cellCenterAlign}"/>
<toolkit:DataGridComboBoxColumn Header="Gender" Width="220" SelectedItemBinding="{Binding Gender}" ItemsSource="{Binding Source={StaticResource GenderValues}}" CellStyle="{StaticResource cellCenterAlign}"/>
<toolkit:DataGridCheckBoxColumn Header="Email" Width="60" Binding="{Binding ReceivesEmail}" CellStyle="{StaticResource cellCenterAlign}"/>
<toolkit:DataGridTextColumn Header="Others" Width="80" CellStyle="{StaticResource cellCenterAlign}"/>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
</StackPanel>
+2
a source to share
1 answer
The DataGridComboBoxColumn only displays the ComboBox if it is in edit mode; otherwise, it appears as a normal DataGridTextColumn. If you want to display the ComboBox, you can define the DataGridTemplateColumn:
<DataGridTemplateColumn Header="Gender">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="220" SelectedItem="{Binding Gender}" ItemsSource="{Binding Source={StaticResource GenderValues}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
+3
a source to share