0

CellValuePresenter (Infragistics から) をスタイリングして、Gid ラインに異なる外観を与え、スタイル (gridLineStyle) を定義し、グリッドの CellValuePresenterStyle プロパティに適用しました。

CellValuePrenter をテンプレート化することによってカスタム テンプレートが定義されている列があり、グリッド線が表示されないことを発見しました (予想どおり)。次のように BasedOn プロパティを適用することで機能させることができます

 <Style x:Key="gridLineStyle" TargetType="ig:CellValuePresenter">
      <Setter Property="BorderThickness" Value="0,0,1,1"/>
      <Setter Property="BorderBrush" Value="{Binding Path=BorderBrushForAllCells,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type pwc:CarbonBlotter}}}"/> 
    </Style>

 <Style x:Key="anotherColumnStyle" TargetType="{x:Type ig:CellValuePresenter}"   BasedOn="{StaticResource gridLineStyle}">
      <Setter Property="Template">
      ....

<pwc:BaseXamDataGrid>
    <pwc:BaseXamDataGrid.FieldSettings>
            <ig:FieldSettings CellValuePresenterStyle="{StaticResource gridLineStyle}"
             ...

しかし、カスタム テンプレートを使用した多くのスタイルがあり、BasedOn プロパティを使用せずにデフォルト スタイルを継承せずにスタイルを定義できるかどうか疑問に思っています。

4

1 に答える 1