Reputation: 2375
I use ComboboxColumn
in DataGrid
which works fine.
However there is a style issue:
When cursor is not on the column, the ComboboxColumn
looks like a textboxColumn
. Once I click it, a tiny arrow on the right corner displays so it looks like a combobox.
I want it to display like a combobox even when it is not clicked or focused. I feel it is ElementStyle
, but not sure what to change to exactly. Does someone know how to do this?
xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
<dg:DataGridComboBoxColumn Width="200" x:Name="column" Header="Column"
SelectedValueBinding="{Binding Path=RelParams.ColumnName, UpdateSourceTrigger=PropertyChanged,
diagnostics:PresentationTraceSources.TraceLevel= High}"
DisplayMemberPath="cName"
SelectedValuePath="cName">
<dg:DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding RelInfo.Columns}" />
</Style>
</dg:DataGridComboBoxColumn.ElementStyle>
<dg:DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding RelInfo.Columns}" />
</Style>
</dg:DataGridComboBoxColumn.EditingElementStyle>
</dg:DataGridComboBoxColumn>
Upvotes: 1
Views: 6234
Reputation: 19296
You can use DataGridTemplateColumn
(msdn).
Example:
<dg:DataGridTemplateColumn Header="MyColumn">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ... />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
Upvotes: 1