添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
憨厚的遥控器  ·  VSCode 正则表达式 ...·  1 年前    · 
火爆的罐头  ·  Hive ...·  1 年前    · 
冷冷的茄子  ·  FastJSON ...·  1 年前    · 
<Window x:Class="Wpf_GridHeaderStyle_sample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c="clr-namespace:Wpf_GridHeaderStyle_sample"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <ControlTemplate x:Key="tmpForThumb" TargetType="{x:Type Thumb}">
            <Border>
                <Rectangle Width="1" Name="rec">
                    <Rectangle.Fill>
                        <LinearGradientBrush StartPoint="0.5,0.3" EndPoint="1,1">
                            <GradientStop Color="Orange" Offset="0.22"/>
                            <GradientStop Color="White" Offset="1"/>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter TargetName="rec" Property="Fill" Value="LightGreen"/>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
        <Style TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                        <Grid Name="g">
                            <Grid.Background>
                                <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                    <GradientStop Color="Gold" Offset="0.3"/>
                                    <GradientStop Color="LightYellow" Offset="1"/>
                                </LinearGradientBrush>
                            </Grid.Background>
                            <Border Name="bd" Padding="{TemplateBinding Padding}">
                                <ContentPresenter Margin="5,4,1,3"  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
                            </Border>
                            <Thumb Name="PART_HeaderGripper" Template="{StaticResource tmpForThumb}" HorizontalAlignment="Right" Margin="0,0,-1,0"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="g" Property="Background">
                                    <Setter.Value>
                                        <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                            <GradientStop Color="DeepPink" Offset="0.3"/>
                                            <GradientStop Color="White" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <!--数据源-->
        <c:Students x:Key="DBSource"/>
        <!--ListViewItem的样式-->
        <Style TargetType="{x:Type ListViewItem}">
            <Style.Setters>
                <Setter Property="SnapsToDevicePixels" Value="True"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ListViewItem}">
                                                    <Border x:Name="bd"
                                BorderThickness="1"
                                Padding="{TemplateBinding Padding}"
                                SnapsToDevicePixels="True">
                            <GridViewRowPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                  Margin="3"/>
                        </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Trigger.Setters>
                                        <Setter TargetName="bd" Property="Background">
                                            <Setter.Value>
                                                <LinearGradientBrush StartPoint="0.5,0.22" EndPoint="0.5,1">
                                                    <GradientStop Color="LightGray" Offset="0.31"/>
                                                    <GradientStop Color="Gray" Offset="0.88"/>
                                                </LinearGradientBrush>
                                            </Setter.Value>
                                        </Setter>
                                    </Trigger.Setters>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style.Setters>
        </Style>
    </Window.Resources>
        <ListView x:Name="lv" ItemsSource="{StaticResource DBSource}">
            <ListView.View>
                <GridView AllowsColumnReorder="True">
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="姓名" Width="110"/>
                    <GridViewColumn DisplayMemberBinding="{Binding Path=Phone}" Header="联系电话" Width="125"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>
关键点:要设置ListView的行样式,设置Listview的ItemContainerStyle属性,但在本例中,由于我把样式应用于所有的ListViewItem,故不用设置该属性。 <Window x:Class="Wpf_GridHeaderStyle_sample.Window1" xmlns="http://schemas.microsoft.com/winfx/200 一、 ListView 样式 和模板 ListView 的模板由三部分组成,分别为Thumb、GridViewColumn Header ListView Item。其中Thumb在GridViewColumn Header 的模板中,参考以下自定义模板: 1、GridViewColumn Header <Style TargetType="{x:Type GridViewColumn Header ...
最近在做 WPF 项目,对 wpf 界面的 listview 数据绑定,并根据绑定 的数据属于的类型在 listview 的一列中用不同的图片进 区分。 好的,现在说一下具体使用步骤: 第一步,先定义要绑定列表需要的集合数据的类  public class FtpFileInformation         private bool isDirectory;
WPF 中的 ListView 非常强大,利用各种Template可以实现许多自定义的 样式 与功能,今天遇到一个自定义选中 样式 的问题,弄了半天才找到解决方法,分享给大家。   前台XAML代码: 1 < ListView Grid.Row="1" Name="LV_Test" SelectionMode="Multiple" Background="{x:Null}"> 2 ...
可以通过修改 WPF ListView 中每个Item的 样式 来实现自定义每一 的颜色。具体步骤如下: 1. 在XAML中定义 ListView 的ItemContainerStyle, 指定 ItemContainerStyle为 ListView .ItemContainerStyle属性的值。例如: < ListView x:Name="my ListView "> < ListView .ItemContainerStyle> <Style TargetType=" ListView Item"> <!--在这里定义Item的 样式 --> </Style> </ ListView .ItemContainerStyle> </ ListView > 2. 在Style中添加一个Trigger,根据Item的数据内容来 设置 颜色。例如: <Style TargetType=" ListView Item"> <Style.Triggers> <DataTrigger Binding ="{ Binding Status}" Value="New"> < Setter Property="Background" Value="Green"/> </DataTrigger> <DataTrigger Binding ="{ Binding Status}" Value="Completed"> < Setter Property="Background" Value="LightGray"/> </DataTrigger> </Style.Triggers> </Style> 在这个例子中,根据绑定到 ListView Item的数据对象的Status属性的值来 设置 Item的背景颜色。 希望这个回答对你有帮助!