使用gridview的样式



如何为gridview使用以下样式

<Stylex:Key="{x:TypeCustom:DataGridRowHeader}"TargetType="{x:TypeCustom:DataGridRowHeader}">
<SetterProperty="Background"Value="{StaticResource RowHeaderBackgroundBrush}" />     
<SetterProperty="Template">
    <Setter.Value>
        <ControlTemplate TargetType="{x:TypeCustom:DataGridRowHeader}">
            <Grid>                       
                <Custom:DataGridHeaderBorder IsSelected="{TemplateBinding IsRowSelected}"
                             IsHovered ="{TemplateBinding IsMouseOver}"
                             IsPressed="{TemplateBinding IsPressed}"
                             BorderBrush="{Binding RelativeSource={RelativeSource AncestorType={x:Type Custom:DataGrid}},
                                Path=HorizontalGridLinesBrush}"
                             Background="{TemplateBinding Background}"                                    
                             BorderThickness="0,1,0,0"
                             Padding ="{TemplateBinding Padding}"
                             Orientation="Horizontal"
                             SeparatorVisibility="{TemplateBinding SeparatorVisibility}"
                             SeparatorBrush="{TemplateBinding SeparatorBrush}" Margin="0,-1,0,0">
                    <StackPanel Orientation="Horizontal">
                        <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                          VerticalAlignment="Center"/>
                        <Control SnapsToDevicePixels="false"
                   Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type Custom:DataGridRow}},
                            Path=(Validation.HasError),
                   Converter={StaticResource bool2VisibilityConverter}}"
                   Template="{Binding RelativeSource={RelativeSource AncestorType={x:Type Custom:DataGridRow}},
                            Path=ValidationErrorTemplate}" />
                    </StackPanel>
                </Custom:DataGridHeaderBorder>
                <Thumb x:Name="PART_TopHeaderGripper"
           VerticalAlignment="Top" Height="3"
           Style="{StaticResource RowHeaderGripperStyle}"/>
                <Thumb x:Name="PART_BottomHeaderGripper"
           VerticalAlignment="Bottom" Height="3"
           Style="{StaticResource RowHeaderGripperStyle}"/>
            </Grid>
            <ControlTemplate.Triggers>                       
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="{StaticResource RowHeaderIsMouseOverBrush}" />
                </Trigger>
                <Trigger Property="IsRowSelected" Value="True">
                    <Setter Property="Background" Value="{StaticResource RowBackgroundSelectedBrush}" />
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Setter.Value>
</Setter>

如果我没有弄错,你需要的是一个类似的样式标题在网格视图。我假设你需要的是一个网格视图列标题样式。为此,您可以使用现有的xaml,并将类名更改为x: typecustomr:DataGridRowHeader为x:Type GridViewColumnHeader。

将Custom:DataGridHeaderBorder更改为普通边框。就是这样。希望你有你提到的所有其他静态资源,如RowHeaderGripperStyle与你。快乐编码:)

相关内容

  • 没有找到相关文章

最新更新