我正在使用Telerik Datagrid视图控件,其中我的几行是只读的(因此,根据readonly的视觉样式,行的背景颜色为灰色)。
现在,当我将背景颜色更改为任何其他颜色时,只读行不会受到影响。他们的背景只有灰色。
以下代码我试过了;
public void SetRowBackColor(string color, params int rowIndices)
{
var brush = (SolidColorBrush)new BrushConverter().ConvertFromString(color);
var s = new Style();
s.Setters.Add(new Setter(BackgroundProperty, brush));
var row = (GridViewRow)RadGridView.ItemContainerGenerator.ContainerFromIndex(item);
if (row == null)
{
RadGridView.UpdateLayout();
RadGridView.ScrollIntoView(RadGridView.Items[item]);
row = (GridViewRow)RadGridView.ItemContainerGenerator.ContainerFromIndex(item);
}
row.Style = s;
}
答案 0 :(得分:0)
您可以仅在XAML中设置此项,而不是将颜色设置为行创建颜色属性并设置该项,现在当行禁用时,它应该采用您的颜色。
<telerik:RadGridView.RowStyle>
<Style TargetType="telerik:GridViewRow">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Trigger.Setters>
<Setter Property="Background" Value="{Binding COLOR_Property}"/>
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</telerik:RadGridView.RowStyle>
如果您的颜色在运行时没有变化,那么只添加颜色名称而不是像COLOR_Property那样是有意义的 -
<Setter Property="Background" Value="Red"/>