2016-04-19 7 views
0

私は、自分の行が読み込み専用ではない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でスタイルでのみ処理できますか?それはこの方法でなければならないのですか? – Muds

答えて

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"/> 
+0

Telerikコントロールの場合、読み取り専用セルの背景は変更されません。 – Gvs13

+0

行の背景が変更されます.. – Muds

関連する問題