FlexGrid for WPF
セルのスタイルを設定する
基本操作 > スタイル > セルのスタイルを設定する

CellFactoryクラスを継承したカスタムセルファクトリを使用して特定のセルやセル範囲をアクセスする手法でセルに任意のスタイルを設定することができます。

 次のコードでは、グリッドをデータソースと連結していることを前提として、CellFactory クラスの使用方法を示します。

【実行例】

コードのコピー
'CellFactoryクラスを継承してカスタムセルファクトリを使用します
Public Class CustomCellFactory
    Inherits CellFactory
    Public Overrides Function CreateCell(grid As C1FlexGrid, cellType As CellType, rng As CellRange) As FrameworkElement
        Dim ctrl = MyBase.CreateCell(grid, cellType, rng)
        Dim bdr = DirectCast(ctrl, Border)

        If bdr IsNot Nothing AndAlso rng.Row = 1 AndAlso rng.Column = 2 Then
            bdr.Background = Brushes.Orange
        End If

        Dim cellRange As New CellRange(5, 1, 6, 3)
        If cellRange.Contains(rng) Then
            bdr.Background = Brushes.Orange
        End If
        Return ctrl
    End Function
End Class
コードのコピー
//CellFactoryクラスを継承してカスタムセルファクトリを使用します
public class CustomCellFactory : CellFactory
{
    public override FrameworkElement CreateCell(C1FlexGrid grid, CellType cellType, CellRange rng)
    {
        var ctrl = base.CreateCell(grid, cellType, rng);
        var bdr = ctrl as Border;

        if (bdr != null && 
            rng.Row == 1 && rng.Column == 2)
        {
            bdr.Background = Brushes.Orange;
        }

        CellRange cellRange = new CellRange(5, 1, 6, 3);
        if (cellRange.Contains(rng))
        {
            bdr.Background = Brushes.Orange;
        }
        return ctrl;
    }
}