• silverlight中更改DataGrid的列模板


    最近在工作中使用了silverlight,要更改DataGrid的表头背景颜色等样式,试了各种方法没有成功,找了好久的办法,发现要更改模板才能改变。

    1.使用Blend For Visual Stido打开要修改的silverlight项目。

    2.点击右键。选择编辑其他模板,选择编辑ColumnHeaderStyle。

    3.在出现的style里面设置自己的样式,根据MSDN上的文档显示,如果想要改变背景颜色,要在ControlTemple中设置一个名字为BackgroundRectangle矩形框,该矩形框的填充颜色就是表头的背景颜色。要有<ContentPresenter/>来盛放表头的内容,如没<ContentPresenter/>,表头是显示不出来的。

    我的样式代码如下:

    <Style x:Key="DataGridColumnHeaderStyle1" TargetType="sdk:DataGridColumnHeader">
                <Setter Property="BorderBrush" Value="White"/>
                <Setter Property="BorderThickness" Value="1"/>
                <Setter Property="Margin" Value="1"/>
                <Setter Property="FontFamily" Value="SimHei"/>
                <Setter Property="Height" Value="15"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid x:Name="Root">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition Width="Auto" />
                                </Grid.ColumnDefinitions>
                                <Rectangle x:Name="BackgroundRectangle" Fill="#189CE8" Stretch="Fill"  Grid.ColumnSpan="2"/>
                                <ContentPresenter/>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

    4.msdn的官网链接:https://msdn.microsoft.com/zh-cn/library/cc278066(VS.95).aspx;

      关于ContentPresenter的详细介绍可参考:http://www.cnblogs.com/Clingingboy/archive/2010/12/20/1911388.html;

  • 相关阅读:
    ⑤SpringBoot之定时任务
    ④SpringBoot之thymeleaf使用
    ③SpringBoot中Redis的使用
    ②SpringBoot之Web综合开发
    Redis、Memcache和MongoDB
    ADB常用命令 & 无线调试Debug黑科技
    Flutter生命周期
    Flutter-Tips
    Git rebase命令
    Git 恢复本地误删的文件
  • 原文地址:https://www.cnblogs.com/zhangqi0924/p/5282288.html
Copyright © 2020-2023  润新知