DataGridコントロール内の行ごとの背景を変更することができますが、下記のような「BackGround」プロパティによって、処理で反映できない。 (e.Row as DataGridRow).BackGround = new SolidColorBrush() 下記のようなスタイル定義の方法で、行背景を変更できます。 (e.Row as DataGridRow).Style = Application.Current.Resources["DataGridRowStyle"] as Style; <Style x:Key="DataGridRowStyle" TargetType="sdk:DataGridRow"> <Setter Property="Background" Value="#F0FF0000"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="sdk:DataGridRow"> <sdk:DataGridFrozenGrid x:Name="Root" > <sdk:DataGridFrozenGrid.Resources> <Storyboard x:Key="DetailsVisibleTransition"> <DoubleAnimation Duration="00:00:0.1" Storyboard.TargetName="DetailsPresenter" Storyboard.TargetProperty="ContentHeight"/> </Storyboard> </sdk:DataGridFrozenGrid.Resources> <sdk:DataGridFrozenGrid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition/> </sdk:DataGridFrozenGrid.ColumnDefinitions> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"/> <VisualState x:Name="NormalAlternatingRow"> <Storyboard> <DoubleAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" To="0"/> </Storyboard> </VisualState> <VisualState x:Name="MouseOver"> <Storyboard> <DoubleAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" To=".5"/> </Storyboard> </VisualState> <VisualState x:Name="NormalSelected"> <Storyboard> <DoubleAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" To="1"/> </Storyboard> </VisualState> <VisualState x:Name="MouseOverSelected"> <Storyboard> <DoubleAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" To="1"/> </Storyboard> </VisualState> <VisualState x:Name="UnfocusedSelected"> <Storyboard> <DoubleAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" To="1"/> <ColorAnimation Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="(Fill).Color" To="#FFE1E7EC"/> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="ValidationStates"> <VisualState x:Name="Valid"/> <VisualState x:Name="Invalid"> <Storyboard> <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Visibility"> <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/> </ObjectAnimationUsingKeyFrames> <DoubleAnimation Duration="0" Storyboard.TargetName="InvalidVisualElement" Storyboard.TargetProperty="Opacity" To="1"/> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <sdk:DataGridFrozenGrid.RowDefinitions> <RowDefinition/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </sdk:DataGridFrozenGrid.RowDefinitions > <Border BorderBrush="Black" BorderThickness="2" Grid.ColumnSpan="2" Grid.RowSpan="2" CornerRadius="4"></Border> <Rectangle x:Name="BackgroundRectangle" Fill="#FFBADDE9" Opacity="0" Grid.ColumnSpan="2" Grid.RowSpan="2"/> <Rectangle x:Name="InvalidVisualElement" Fill="#FFF7D8DB" Opacity="0" Grid.ColumnSpan="2" Grid.RowSpan="2"/> <sdk:DataGridRowHeader x:Name="RowHeader" Grid.RowSpan="3" sdk:DataGridFrozenGrid.IsFrozen="True"/> <sdk:DataGridCellsPresenter x:Name="CellsPresenter" Grid.Column="1" sdk:DataGridFrozenGrid.IsFrozen="True"/> <sdk:DataGridDetailsPresenter x:Name="DetailsPresenter" Grid.Column="1" Grid.Row="1"/> <Rectangle x:Name="BottomGridLine" Height="1" HorizontalAlignment="Stretch" Grid.Column="1" Grid.Row="2"/> </sdk:DataGridFrozenGrid> </ControlTemplate> </Setter.Value> </Setter> </Style> 参照情報: ウィジェット型CM動画配信サービス manna [マナ] コメント: |