Dev控件中的GridControl如何設置Header的背景色



        <dxg:GridControl    ItemsSource="{Binding ItemsSource}" >
            <dxg:GridControl.View>
                <dxg:TableView Name="SelectorGridView" >
                </dxg:TableView>
            </dxg:GridControl.View>
            <dxg:GridControl.Columns>
                <dxg:GridColumn Header="TestA" FieldName="TestA" Width="60"/>
                <dxg:GridColumn Header="TestB" Binding="{Binding TestB,Mode=OneWay}" Width="140" / >
                <dxg:GridColumn Header="TestC" Binding="{Binding CI,Mode=TestCOneWay}" Width="140"/>
                <dxg:GridColumn Header="TestD" FieldName="TestD" Width="100" />
            </dxg:GridControl.Columns>
        </dxg:GridControl>


設置dxg:GridColumn列的標題顏色

4 个解决方案

#1


設置GridColumn的HeaderTemplate屬性,使用DataTemplate。

#2


引用 1 樓 duanzi_peng 的回復:
設置GridColumn的HeaderTemplate屬性,使用DataTemplate。

寫了DataTemplate ,但是有點問題 ,背景色試過很多方法都只能覆蓋TextBlock的區域

    <Style TargetType="{x:Type dxg:GridColumn}">
        <!--列頭居中-->
        <Setter Property="HorizontalHeaderContentAlignment" Value="Center"></Setter>
        <!--列值居中-->
        <Setter Property="EditSettings">
            <Setter.Value>
                <dxe:TextEditSettings HorizontalContentAlignment="Center" />
            </Setter.Value>
        </Setter>
        <Setter Property="AllowColumnFiltering" Value="False"></Setter>

        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Border Background="#3D87D2">
                        <TextBlock Text="{Binding}"   Foreground="White"></TextBlock>
                    </Border>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>




#3


引用 2 樓 saybookcat 的回復:
Quote: 引用 1 樓 duanzi_peng 的回復:

設置GridColumn的HeaderTemplate屬性,使用DataTemplate。

寫了DataTemplate ,但是有點問題 ,背景色試過很多方法都只能覆蓋TextBlock的區域

    <Style TargetType="{x:Type dxg:GridColumn}">
        <!--列頭居中-->
        <Setter Property="HorizontalHeaderContentAlignment" Value="Center"></Setter>
        <!--列值居中-->
        <Setter Property="EditSettings">
            <Setter.Value>
                <dxe:TextEditSettings HorizontalContentAlignment="Center" />
            </Setter.Value>
        </Setter>
        <Setter Property="AllowColumnFiltering" Value="False"></Setter>

        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Border Background="#3D87D2">
                        <TextBlock Text="{Binding}"   Foreground="White"></TextBlock>
                    </Border>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>


那就修改DataGrid的列的Template,內嵌ControlTemplate 作為內容,網上有例子很多。

#4


引用 3 樓 duanzi_peng 的回復:
Quote: 引用 2 樓 saybookcat 的回復:

Quote: 引用 1 樓 duanzi_peng 的回復:

設置GridColumn的HeaderTemplate屬性,使用DataTemplate。

寫了DataTemplate ,但是有點問題 ,背景色試過很多方法都只能覆蓋TextBlock的區域

    <Style TargetType="{x:Type dxg:GridColumn}">
        <!--列頭居中-->
        <Setter Property="HorizontalHeaderContentAlignment" Value="Center"></Setter>
        <!--列值居中-->
        <Setter Property="EditSettings">
            <Setter.Value>
                <dxe:TextEditSettings HorizontalContentAlignment="Center" />
            </Setter.Value>
        </Setter>
        <Setter Property="AllowColumnFiltering" Value="False"></Setter>

        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Border Background="#3D87D2">
                        <TextBlock Text="{Binding}"   Foreground="White"></TextBlock>
                    </Border>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>


那就修改DataGrid的列的Template,內嵌ControlTemplate 作為內容,網上有例子很多。

DataGrid這樣做事可行的,但是dev控件特有的Theme阻止了這個設置的可行性。
該用其他控件實現了

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com