Wpf 后台代码 怎么设置datagrid 某一行的背景色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wpf 后台代码 怎么设置datagrid 某一行的背景色相关的知识,希望对你有一定的参考价值。

要改变datagrid的某一行不是固定的,但有明显的特征和共同点

参考技术A 对其行还是设置触发器,比如我要设置鼠标到来的背景色,

<DataGrid.RowStyle >
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#FF0000FF"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>

你说行不固定的话,根据相应的特征判断就好了,相通的本回答被提问者采纳
参考技术B var datagrid = sender as DataGrid;
var columnName =datagrid.SelectedCells.First().Column.Header;</pre>

<div class="replyask-box u-80206144-e last" id="replyask-9631654">

<h4 class="ask">追问</h4>

<div class="replyask-content">
<pre class="replyask-text" id="content-9631654">我的是winform程序,SelectedCells没有First()这个函数xzj无广告无病毒。yinshen@info有你想要的tzz追问

我是要改变所有合计行的背景色,条件是在数据加载后就马上改变,不是要选中才改变的 ,,还有一点我的是WPF程序,这个里边跟winform有不小的差别的。我看过在WPF里边的DataGrid有一个RowStyle的属性,不知道怎么使用的啊,也不能设定行数

WPF,DataGrid怎么设置列标题分割线的颜色

参考技术A 首先查看datagrid的视觉树
我想你要设置的是两个thumb控件,要设置这个的话,有两种方法
一、到datagrid的模板中直接修改,然后datagrid应用这个资源样式
二、后台去遍历datagrid的视觉树,找到这个控件再去修改
参考技术B <Style x:Key="MiddleColumnStyle" TargetType="x:Type DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate TargetType="x:Type DataGridColumnHeader">
                        <Grid>
                            <DockPanel>
                                <Rectangle Width="1" Fill="White" DockPanel.Dock="Right"/>
                                <Border Background="#004ee4" Padding="18" BorderThickness="0" >
                                    <TextBlock Foreground="White" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Center">
                                    <ContentPresenter/>
                                    </TextBlock>
                                </Border>
                            </DockPanel>
                            <Thumb x:Name="PART_RightHeaderGripper" Width="1" BorderBrush="White" BorderThickness="1"
                               Cursor="SizeWE"  HorizontalAlignment="Right" >
                            </Thumb>
                            <Thumb x:Name="PART_LeftHeaderGripper" Width="1" Background="White"  BorderThickness="1"
                               Cursor="SizeWE" 
                            HorizontalAlignment="Right" >
                            </Thumb>
                        </Grid>
                       
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

注意两个Thumb

以上是关于Wpf 后台代码 怎么设置datagrid 某一行的背景色的主要内容,如果未能解决你的问题,请参考以下文章

wpf datagrid cell 设置焦点

wpf datagrid 怎么增加数据行

WPF 在DataGrid选中某一行时,该行的DataGridTemplateColumn中控件的背景颜色需要怎么才能变?

wpf datagrid 默认选择为最新的一行,不知道为啥设置不了

WPF中对datagrid删除选中的某一行。

wpf datagrid怎么得到焦点?用datagrid.focus()不行