Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

Can't customize rows for custom Datagrid for WPF

$
0
0
i make a custom datagrid that filled manually from mysql database
i changed the columns and the background colors
but i can't figure out how to change the rows and scrollers colors
here what i got
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:f="clr-namespace:ProPharmacyManagerW.Controls"
                    xmlns:local="clr-namespace:ProPharmacyManagerW.Themes"><Style TargetType="{x:Type f:CustomDataGrid}"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" /><Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected" /><Setter Property="Background" Value="#37c8c3"/><Setter Property="ScrollViewer.CanContentScroll" Value="True" /><Setter Property="ScrollViewer.PanningMode" Value="Both" /><Setter Property="Stylus.IsFlicksEnabled" Value="False" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type f:CustomDataGrid}"><Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True"><ScrollViewer x:Name="DG_ScrollViewer" Focusable="False"><ScrollViewer.Template><ControlTemplate TargetType="{x:Type ScrollViewer}"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/><RowDefinition Height="Auto"/></Grid.RowDefinitions><Button Command="ApplicationCommands.SelectAll" Focusable="False" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type f:CustomDataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type f:CustomDataGrid}}}"><Button.Visibility><Binding Path="HeadersVisibility" RelativeSource="{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type f:CustomDataGrid}}"><Binding.ConverterParameter><DataGridHeadersVisibility>All</DataGridHeadersVisibility></Binding.ConverterParameter></Binding></Button.Visibility></Button><DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1"><DataGridColumnHeadersPresenter.Visibility><Binding Path="HeadersVisibility" RelativeSource="{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type f:CustomDataGrid}}"><Binding.ConverterParameter><DataGridHeadersVisibility>Column</DataGridHeadersVisibility></Binding.ConverterParameter></Binding></DataGridColumnHeadersPresenter.Visibility><DataGridColumnHeadersPresenter.Resources><Style TargetType="{x:Type DataGridColumnHeader}"><Setter Property="VerticalContentAlignment" Value="Center" /><Setter Property="Height" Value="35" /><Setter Property="SeparatorBrush" Value="CadetBlue" /><Setter Property="FontWeight" Value="Black" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type DataGridColumnHeader}"><Grid><VisualStateManager.VisualStateGroups><VisualStateGroup x:Name="CommonStates"><VisualState x:Name="Normal" /><VisualState x:Name="MouseOver"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="columnHeaderBorder" Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="BlueViolet" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState></VisualStateGroup></VisualStateManager.VisualStateGroups><Border x:Name="columnHeaderBorder" BorderThickness="0" Padding="3,0,3,0"><Border.BorderBrush><LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"><GradientStop Offset="0" Color="#4A89DC" /><GradientStop Offset="1" Color="#5D9CEC" /></LinearGradientBrush></Border.BorderBrush><Border.Background><LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"><GradientStop Offset="0" Color="#3BAFDA" /><GradientStop Offset="1" Color="#4FC1E9" /></LinearGradientBrush></Border.Background><ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /></Border></Grid></ControlTemplate></Setter.Value></Setter></Style><Style TargetType="{x:Type DataGridRow}"><Setter Property="Background" Value="CadetBlue" /><Setter Property="SnapsToDevicePixels" Value="true" /><Setter Property="Validation.ErrorTemplate" Value="{x:Null}" /><Setter Property="ValidationErrorTemplate"><Setter.Value><ControlTemplate><TextBlock Margin="2,0,0,0" VerticalAlignment="Center" Foreground="Red" Text="!" /></ControlTemplate></Setter.Value></Setter><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type DataGridRow}"><Border x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="True"><Border.Background><LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"><GradientStop Offset="0" Color="#4fcbad" /><GradientStop Offset="1" Color="#6dd4bb" /></LinearGradientBrush></Border.Background><VisualStateManager.VisualStateGroups><VisualStateGroup x:Name="CommonStates"><VisualState x:Name="Normal" /><VisualState x:Name="Normal_AlternatingRow"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#5ed0b4" /></ColorAnimationUsingKeyFrames><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#7cd9c2" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="Normal_Selected"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).                         (GradientBrush.GradientStops)[0].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#2ABA66" /></ColorAnimationUsingKeyFrames><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).                         (GradientBrush.GradientStops)[1].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#2ECC71" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="MouseOver"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).                         (GradientBrush.GradientStops)[0].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#4aa992" /></ColorAnimationUsingKeyFrames><ColorAnimationUsingKeyFrames Storyboard.TargetName="DGR_Border" Storyboard.TargetProperty="(Panel.Background).                         (GradientBrush.GradientStops)[1].(GradientStop.Color)"><EasingColorKeyFrame KeyTime="0" Value="#53a08d" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState></VisualStateGroup></VisualStateManager.VisualStateGroups><SelectiveScrollingGrid><SelectiveScrollingGrid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition Width="*" /></SelectiveScrollingGrid.ColumnDefinitions><SelectiveScrollingGrid.RowDefinitions><RowDefinition Height="*" /><RowDefinition Height="Auto" /></SelectiveScrollingGrid.RowDefinitions><DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /><DataGridDetailsPresenter Grid.Row="1" Grid.Column="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}" /><DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /></SelectiveScrollingGrid></Border></ControlTemplate></Setter.Value></Setter></Style><Style TargetType="{x:Type DataGridCell}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type DataGridCell}"><Border x:Name="border" Background="Transparent" BorderBrush="Transparent" BorderThickness="1" SnapsToDevicePixels="True"><VisualStateManager.VisualStateGroups><VisualStateGroup x:Name="FocusStates"><VisualState x:Name="Unfocused" /><VisualState x:Name="Focused" /></VisualStateGroup><VisualStateGroup x:Name="CurrentStates"><VisualState x:Name="Regular" /><VisualState x:Name="Current"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="border" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"><EasingColorKeyFrame KeyTime="0" Value="Gray" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState></VisualStateGroup></VisualStateManager.VisualStateGroups><ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /></Border></ControlTemplate></Setter.Value></Setter></Style><Style TargetType="ToggleButton"><Setter Property="Padding" Value="3" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ToggleButton"><Grid><VisualStateManager.VisualStateGroups><VisualStateGroup x:Name="CommonStates"><VisualState x:Name="Normal" /><VisualState x:Name="MouseOver"><Storyboard><ColorAnimationUsingKeyFrames Storyboard.TargetName="DefaultPath" Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)"><SplineColorKeyFrame KeyTime="0:0:0.2" Value="#8CC152" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="Pressed" /><VisualState x:Name="Disabled" /></VisualStateGroup><VisualStateGroup x:Name="CheckStates"><VisualState x:Name="Checked"><Storyboard><ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="DefaultPath" Storyboard.TargetProperty="Visibility"><DiscreteObjectKeyFrame KeyTime="0"><DiscreteObjectKeyFrame.Value><Visibility>Collapsed</Visibility></DiscreteObjectKeyFrame.Value></DiscreteObjectKeyFrame></ObjectAnimationUsingKeyFrames><ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="CheckedPath" Storyboard.TargetProperty="Visibility"><DiscreteObjectKeyFrame KeyTime="0"><DiscreteObjectKeyFrame.Value><Visibility>Visible</Visibility></DiscreteObjectKeyFrame.Value></DiscreteObjectKeyFrame></ObjectAnimationUsingKeyFrames><ColorAnimationUsingKeyFrames Storyboard.TargetName="CheckedPath" Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)"><SplineColorKeyFrame KeyTime="0:0:0.2" Value="#A0D468" /></ColorAnimationUsingKeyFrames></Storyboard></VisualState><VisualState x:Name="Unchecked" /></VisualStateGroup></VisualStateManager.VisualStateGroups><ContentPresenter x:Name="contentPresenter" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" /><Path x:Name="DefaultPath" VerticalAlignment="Top" Data="M0,0 14,7 0,14 Z" Fill="#40c7a5" Stretch="Fill" /><Path x:Name="CheckedPath" VerticalAlignment="Top" Data="M0,0 14,0 7,14 Z" Fill="#4fcbad" Stretch="Fill" Visibility="Collapsed" /></Grid></ControlTemplate></Setter.Value></Setter></Style></DataGridColumnHeadersPresenter.Resources></DataGridColumnHeadersPresenter><ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" Grid.ColumnSpan="2" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Grid.Row="1"/><ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/><Grid Grid.Column="1" Grid.Row="2"><Grid.ColumnDefinitions><ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type f:CustomDataGrid}}}"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/></Grid></Grid></ControlTemplate></ScrollViewer.Template><ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/></ScrollViewer></Border></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="IsGrouping" Value="True"><Setter Property="ScrollViewer.CanContentScroll" Value="True" /></Trigger></Style.Triggers></Style></ResourceDictionary>

and
 public class CustomDataGrid : DataGrid
    {
        static CustomDataGrid()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomDataGrid), new FrameworkPropertyMetadata(typeof(CustomDataGrid)));
        }
    }


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>