WPF DataGridComboBoxColumn样式 [英] WPF DataGridComboBoxColumn style

查看:603
本文介绍了WPF DataGridComboBoxColumn样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 DataGrid 中使用 ComboboxColumn 正常工作。

但是有样式问题:

当光标不在列上时, ComboboxColumn 看起来像 textboxColumn 。单击后,将显示右上角的小箭头,因此它看起来像一个组合框。

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.

我希望它即使没有被单击或聚焦也能显示为组合框。我觉得它是 ElementStyle ,但是不确定到底要更改什么。有人知道怎么做吗?

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>


推荐答案

您可以使用 DataGridTemplateColumn msdn ) 。

示例:

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

这篇关于WPF DataGridComboBoxColumn样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆