20130507解决SilverLight项目使用DevExpress GridControl控件,修改列背景问题

接触一个SilverLight项目,其中需要修改DevExpress GridControl控件的列背景。

本来以来在设计页面下,修改列属性即可,没想到列的属性页中竟然没有背景属性,在网上疯狂寻找资料,都没有这方面的指导。

最后在一个牛人的指导下,解决了这个问题,远远地谢谢这位高手。

老实讲,这个解决方案我也没太完全理解,简单贴出来,供大家参考吧。

主要是通过ColumnBase.CellStyle 属性进行设置,具体实现是在XAML编辑器中,具体如下:

     <UserControl.Resources>
        <ControlTemplate x:Key="MyCellTemplate" TargetType="dxg:CellContentPresenter">
            <Border x:Name="ContentBorder">  
                <Border.Background>
                    <SolidColorBrush x:Name="InnerBorderBackground" Color="Red" />
                </Border.Background>
                <dxg:CellEditor x:Name="PART_CellEditor">
                </dxg:CellEditor>
            </Border>
        </ControlTemplate>
        <Style x:Key="MyCellStyle" TargetType="dxg:CellContentPresenter">
            <Setter Property="Template" Value="{StaticResource MyCellTemplate}"/>
        </Style>
    </UserControl.Resources>
定义样式 
 

<dxg:GridColumn Name="gridColumn1" FieldName="ProductName" CellStyle="{StaticResource MyCellStyle}"/>
针对某一列设置样式

看起来是通过设置样式来进行操作的,样式的定义是通过Resource实现的,本来想利用这个机会系统了解一下Resource的用法,简单查找了一下,发现这是一个巨大的工程,内容非常多,无奈放弃,留待以后,遇到再说吧。

最后,再一次地感谢给予我指导的这位朋友,虽然我还不知道他的名字。

posted on 2013-05-09 16:29  潜心中  阅读(338)  评论(0编辑  收藏  举报

导航