WPF DataGridComboBoxColumn样式

时间:2013-03-15 22:28:49

标签: wpf styles datagridcomboboxcolumn

我在ComboboxColumn中使用DataGrid,效果很好。

但是有一个风格问题:
当光标不在列上时,ComboboxColumn看起来像textboxColumn。一旦我点击它,右上角的一个小箭头显示,它看起来像一个组合框。

我希望它即使没有点击或聚焦也能像组合框一样显示。我觉得它是ElementStyle,但不确定要准确改变什么。有人知道怎么做吗?

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 个答案:

答案 0 :(得分:0)

您可以使用DataGridTemplateColumnmsdn)。

示例:

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