-->

WPF DataGridComboBoxColumn风格(WPF DataGridComboBoxC

2019-09-29 12:28发布

我用ComboboxColumnDataGrid ,工作正常。

然而,有个风格问题:
当光标不在列中, 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>

Answer 1:

您可以使用DataGridTemplateColumn ( MSDN )。

例:

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


文章来源: WPF DataGridComboBoxColumn style