WPF DataGridComboBoxColumn style

好久不见. 提交于 2019-12-11 07:57:56

问题


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>

回答1:


You can use DataGridTemplateColumn (msdn).

Example:

<dg:DataGridTemplateColumn Header="MyColumn">
    <dg:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox ... />
        </DataTemplate>
    </dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>


来源:https://stackoverflow.com/questions/15443091/wpf-datagridcomboboxcolumn-style

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!