zoukankan      html  css  js  c++  java
  • Silverlight DataGrid 自定义头 火麒

    <UserControl xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 
        x:Class="ToolTipServiceSamples.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
        mc:Ignorable="d"
        d:DesignHeight="300" d:DesignWidth="400">

        <UserControl.Resources>
            <Style x:Key="DataGridBaseHeaderStyle" TargetType="dataprimitives:DataGridColumnHeader">
                <Setter Property="FontWeight" Value="Bold" />
            </Style>

            <!--<Style x:Key="TimeSheetTotalsHeaderStyle" TargetType="dataprimitives:DataGridColumnHeader" BasedOn="{StaticResource TimeSheetDayHeaderStyle}">
                <Setter Property="Foreground" Value="#FFFF0000"/>
            </Style>-->

            <Style x:Key="TimeSheetDayHeaderStyle" TargetType="dataprimitives:DataGridColumnHeader" BasedOn="{StaticResource DataGridBaseHeaderStyle}">
                <Setter Property="Foreground" Value="#FF000000"/>
                <Setter Property="HorizontalContentAlignment" Value="Left"/>
                <Setter Property="VerticalContentAlignment" Value="Center"/>
                <Setter Property="IsTabStop" Value="False"/>
                <Setter Property="SeparatorBrush" Value="#FFC9CACA"/>
                <Setter Property="Padding" Value="8"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid x:Name="Root">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition Width="Auto"/>
                                </Grid.ColumnDefinitions>
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualState x:Name="Normal"/>
                                        <VisualState x:Name="MouseOver">
                                            <Storyboard>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundRectangle"
                                                        Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#7FFFFFFF"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#CCFFFFFF"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#F2FFFFFF"/>
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Pressed">
                                            <Storyboard>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundRectangle"
                                                        Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[0].Color" To="#D8FFFFFF"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#C6FFFFFF"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#8CFFFFFF"/>
                                                <ColorAnimation Duration="0"
                                                        Storyboard.TargetName="BackgroundGradient"
                                                        Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#3FFFFFFF"/>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                    <VisualStateGroup x:Name="SortStates">
                                        <VisualState x:Name="Unsorted"/>
                                        <VisualState x:Name="SortAscending" />
                                        <VisualState x:Name="SortDescending" />
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                                <Rectangle x:Name="BackgroundRectangle" Fill="#FF1F3B53" Stretch="Fill" Grid.ColumnSpan="2"/>
                                <Rectangle x:Name="BackgroundGradient" Stretch="Fill" Grid.ColumnSpan="2">
                                    <Rectangle.Fill>
                                        <LinearGradientBrush EndPoint=".7,1" StartPoint=".7,0">
                                            <GradientStop Color="#FCFFFFFF" Offset="0.015"/>
                                            <GradientStop Color="#F7FFFFFF" Offset="0.375"/>
                                            <GradientStop Color="#E5FFFFFF" Offset="0.6"/>
                                            <GradientStop Color="#D1FFFFFF" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Rectangle.Fill>
                                </Rectangle>
                                <Grid HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="20" />
                                        <RowDefinition Height="1" />
                                        <RowDefinition Height="20" />
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="50"/>
                                        <ColumnDefinition Width="1" />
                                        <ColumnDefinition Width="50"/>
                                    </Grid.ColumnDefinitions>
                                    <!-- Row 0 -->
                                    <ContentPresenter Content="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.ColumnSpan="3" />
                                    <!-- Row 1 -->
                                    <Rectangle Fill="#FFC9CACA" VerticalAlignment="Stretch" Height="1" Visibility="Visible" Grid.Row="1" Grid.ColumnSpan="3" />
                                    <!-- Row 2 -->
                                    <ContentPresenter Content="Qty" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                    <Rectangle Fill="#FFC9CACA" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="2" Grid.Column="1" />
                                    <ContentPresenter Content="Hours" Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                </Grid>
                                <Rectangle x:Name="VerticalSeparator" Fill="#FFC9CACA" VerticalAlignment="Stretch" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="1"/>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </UserControl.Resources>
        <Grid x:Name="LayoutRoot" Background="White">
            <data:DataGrid>
                <data:DataGrid.Columns>
                    <data:DataGridTemplateColumn Header="星期四" HeaderStyle="{StaticResource TimeSheetDayHeaderStyle}">
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBox Text="{Binding TuesdayQuantity}" />
                                    <Rectangle Fill="#FFC9CACA" VerticalAlignment="Stretch" Width="1" />
                                    <TextBox Text="{Binding TuesdayHours}" Margin="2,0,0,0" />
                                </StackPanel>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                </data:DataGrid.Columns>
            </data:DataGrid>
        </Grid>
    </UserControl>

  • 相关阅读:
    「AtCoder AGC023F」01 on Tree
    「Wallace 笔记」平面最近点对 解法汇总
    「Codeforces 1181E」A Story of One Country (Easy & Hard)
    「NOI2018」「LOJ #2720」「Luogu P4770」 你的名字
    IdentityServer4设置RefreshTokenExpiration=Sliding不生效的原因
    【知识点】IQueryable.SumAsync方法的NULL异常
    Beyond Compare 4 密钥被吊销
    【知识点】Uri对象的完整地址
    git文件夹大小写问题
    .Net Core学习资料
  • 原文地址:https://www.cnblogs.com/firekylin/p/2045116.html
Copyright © 2011-2022 走看看