您的位置:首页 > 其它

WPF ListView显示GridLine(可选), 通过附加属性修改

2017-08-17 11:38 525 查看
效果见上一篇。

Style:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:ImageButtonTest01.Themes"
xmlns:controls="clr-namespace:ImageButtonTest01.Control">
<!--GridLine-->
<!--<Visibility x:Key="ListView.GridLine.Horizontal.Visibility">Collapsed</Visibility>
<Visibility x:Key="ListView.GridLine.Vertical.Visibility">Collapsed</Visibility>-->
<!--<Visibility x:Key="ListView.GridLine.Horizontal.Visibility">Visible</Visibility>
<Visibility x:Key="ListView.GridLine.Vertical.Visibility">Visible</Visibility>-->

<!--<sys:Double x:Key="ListView.GridLine.Horizontal.Width">2</sys:Double>
<sys:Double x:Key="ListView.GridLine.Vertical.Width">1</sys:Double>-->

<sys:Double x:Key="ListView.Header.Line.Vertical.Width">1</sys:Double>

<!--第3个值(右边间距)必须和列线width相同-->
<Thickness x:Key="ListView.Thumb.Margin">0,0,-1,0</Thickness>
<sys:Double x:Key="ListView.Header.Height">40</sys:Double>
<SolidColorBrush x:Key="ListView.Header.Background">#80365080</SolidColorBrush>
<SolidColorBrush x:Key="ListView.Header.Foreground">#80FFFFFF</SolidColorBrush>

<LinearGradientBrush x:Key="ListView.GridLine.Horizontal.Brush" StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Orange" Offset="0"/>
<GradientStop Color="Black" Offset="0.5"/>
<GradientStop Color="Orange" Offset="1"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>

<LinearGradientBrush x:Key="ListView.GridLine.Horizontal.MouseOver.Brush" StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="OrangeRed" Offset="0"/>
<GradientStop Color="WhiteSmoke" Offset="0.5"/>
<GradientStop Color="OrangeRed" Offset="1"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>

<LinearGradientBrush x:Key="ListView.GridLine.Vertical.Brush" StartPoint="0,0" EndPoint="1,0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="WhiteSmoke" Offset="0"/>
<GradientStop Color="Black" Offset="0.5"/>
<GradientStop Color="WhiteSmoke" Offset="1"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>

<Style x:Key="ListViewHeaderThumb" TargetType="Thumb">
<Setter Property="Background" Value="Chocolate"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Border Padding="{TemplateBinding Padding}" Background="Transparent" Width="10"
Margin="{StaticResource ListView.Thumb.Margin}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Rectangle Width="{StaticResource ListView.Header.Line.Vertical.Width}"
Fill="{StaticResource ListView.GridLine.Vertical.Brush}"
HorizontalAlignment="Right" VerticalAlignment="Stretch"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="DefaultListViewHeader" TargetType="GridViewColumnHeader">
<Setter Property="Foreground" Value="{StaticResource ListView.Header.Foreground}"/>
<Setter Property="Background" Value="{StaticResource ListView.Header.Background}"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="MinHeight" Value="20"/>
<Setter Property="Height" Value="{StaticResource ListView.Header.Height}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Green"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Border x:Name="HeaderBorder" Padding="0" Margin="0,0,0,0"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="HeaderContent" Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="0" RecognizesAccessKey="True"
HorizontalAlignment="Center" VerticalAlignment="Center"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>

<Thumb x:Name="PART_HeaderGripper" Grid.Column="1" HorizontalAlignment="Right"
Style="{StaticResource ListViewHeaderThumb}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsDragging, ElementName=PART_HeaderGripper}" Value="True">
<Setter Property="Foreground" Value="Lavender"/>
<Setter Property="FontSize" Value="20"/>
<Setter TargetName="HeaderBorder" Property="Background" Value="Violet"/>
</DataTrigger>

<Trigger Property="IsPressed" Value="true">
<Setter TargetName="HeaderContent" Property="Margin" Value="6,1,6,1" />
<Setter Property="Foreground" Value="Cyan"/>
<Setter Property="FontSize" Value="20"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock TextBlock.FontWeight="SemiBold" Text="{Binding}" TextAlignment="Center"/>
</DataTemplate>
</Setter.Value>
</Setter>

<Style.Triggers>
<Trigger Property="Role" Value="Floating">
<Setter Property="Opacity" Value="0.7"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Canvas Name="PART_FloatingHeaderCanvas">
<Rectangle Fill="#60000000" Width="{TemplateBinding ActualWidth}" Height="{TemplateBinding ActualHeight}" />
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>

<Style x:Key="DefaultGridViewScrollViewerStyle" TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
<Setter Property="Focusable" Value="false" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DockPanel Margin="{TemplateBinding Padding}">
<ScrollViewer DockPanel.Dock="Top" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">
<GridViewHeaderRowPresenter AllowsColumnReorder="{Binding TemplatedParent.View.AllowsColumnReorder, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderContainerStyle="{Binding TemplatedParent.View.ColumnHeaderContainerStyle, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderToolTip="{Binding TemplatedParent.View.ColumnHeaderToolTip, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderStringFormat="{Binding TemplatedParent.View.ColumnHeaderStringFormat, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderContextMenu="{Binding TemplatedParent.View.ColumnHeaderContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplate="{Binding TemplatedParent.View.ColumnHeaderTemplate, RelativeSource={RelativeSource TemplatedParent}}"
Columns="{Binding TemplatedParent.View.Columns, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplateSelector="{Binding TemplatedParent.View.ColumnHeaderTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"
Margin="0" Visibility="Visible" x:Name="PART_Header" Height="auto"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter"
CanContentScroll="{TemplateBinding CanContentScroll}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
KeyboardNavigation.DirectionalNavigation="Local"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</DockPanel>

<ScrollBar x:Name="PART_HorizontalScrollBar" Cursor="Arrow" Maximum="{TemplateBinding ScrollableWidth}"
Minimum="0.0" Orientation="Horizontal" Grid.Row="1"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportWidth}" />
<ScrollBar x:Name="PART_VerticalScrollBar" Cursor="Arrow" Grid.Column="1" Maximum="{TemplateBinding ScrollableHeight}"
Minimum="0.0" Orientation="Vertical"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportHeight}" />
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Columns, ElementName=PART_Header}" Value="{x:Null}">
<Setter Property="Visibility" TargetName="PART_Header" Value="Collapsed"></Setter>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<!--ItemContainerStyle-->
<Style x:Key="DefaultListViewItemContainerStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<!--也可以通过BorderThickness和BorderBrush的Bottom设置水平线条宽度和颜色-->
<Setter Property="BorderBrush" Value="LightGray"/>
<Setter Property="BorderThickness" Value="0,0,0,0"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="FontSize" Value="16"/>
<!--<Setter Property="controls:ListViewHelper.HorizontalLineWidth" Value="3"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<!--<controls:GridViewRowPresenterWithGridLines Height="60"
Columns="{TemplateBinding GridView.ColumnCollection}"
Margin="{TemplateBinding Padding}"
GridLineWidth="{StaticResource ListView.GridLine.Vertical.Width}"
GridLineBrush="{StaticResource ListView.GridLine.Vertical.Brush}"
GridLinesVisibility="{StaticResource ListView.GridLine.Horizontal.Visibility}"/>

--><!--水平线条--><!--
<Rectangle x:Name="horLine" Grid.Row="1" Height="{StaticResource ListView.GridLine.Horizontal.Width}"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Fill="{StaticResource ListView.GridLine.Horizontal.Brush}"
Visibility="{StaticResource ListView.GridLine.Vertical.Visibility}"/>-->
<controls:GridViewRowPresenterWithGridLines Height="60"
Columns="{TemplateBinding GridView.ColumnCollection}"
Margin="{TemplateBinding Padding}"
GridLineWidth="{Binding Path=(controls:ListViewHelper.VerticalLineWidth),RelativeSource={RelativeSource TemplatedParent}}"
GridLineBrush="{Binding Path=(controls:ListViewHelper.VerticalLineBrush),RelativeSource={RelativeSource TemplatedParent}}"
GridLinesVisibility="{Binding Path=(controls:ListViewHelper.VerticalLineVisibility),RelativeSource={RelativeSource TemplatedParent}}"/>
<!--水平线条-->
<Rectangle x:Name="horLine" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Height="{Binding Path=(controls:ListViewHelper.HorizontalLineWidth),RelativeSource={RelativeSource TemplatedParent}}"
Fill="{Binding Path=(controls:ListViewHelper.HorizontalLineBrush),RelativeSource={RelativeSource TemplatedParent}}"
Visibility="{Binding Path=(controls:ListViewHelper.HorizontalLineVisibility),RelativeSource={RelativeSource TemplatedParent}}"/>
</Grid>
</Border>

<ControlTemplate.Triggers>
<!--设置隔行背景-->
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter TargetName="border" Property="Background" Value="#50e9e9e9"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter TargetName="border" Property="Background" Value="#FFe9e9e9"/>
</Trigger>

<!--鼠标经过-->
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#D0BA7DF4"/>
<Setter TargetName="horLine" Property="Fill" Value="{StaticResource ListView.GridLine.Horizontal.MouseOver.Brush}"/>
<Setter Property="Foreground" Value="WhiteSmoke"/>
<Setter Property="FontSize" Value="20"/>
</Trigger>

<!--被选中-->
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="border" Property="Background" Value="#A145F8" />
<Setter Property="Foreground" Value="WhiteSmoke" />
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true" />
<Condition Property="Selector.IsSelectionActive" Value="True" />
</MultiTrigger.Conditions>

<Setter Property="Background" Value="Red" />
<Setter Property="Foreground" Value="WhiteSmoke" />
</MultiTrigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsEnabled" Value="False" />
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter TargetName="border" Property="Opacity" Value="0.4" />
</MultiTrigger.Setters>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
</Trigger>
</Style.Triggers>
</Style>

<ControlTemplate x:Key="DefaultListViewTemplateStyle" TargetType="{x:Type ListView}">
<Border x:Name="Border" SnapsToDevicePixels="true"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer Padding="{TemplateBinding Padding}" Style="{StaticResource DefaultGridViewScrollViewerStyle}">
<ItemsPresenter/>
</ScrollViewer>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsGrouping" Value="true">
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border" Property="Opacity" Value="0.4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>

<!--Item水平布局-->
<ItemsPanelTemplate x:Key="HorizontalListViewPanel">
<VirtualizingStackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</ItemsPanelTemplate>

<!--Item垂直布局-->
<ItemsPanelTemplate x:Key="VerticalListViewPanel">
<VirtualizingStackPanel Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</ItemsPanelTemplate>

<!--Item折布局-->
<ItemsPanelTemplate x:Key="WrapPanelViewPanel">
<WrapPanel Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</ItemsPanelTemplate>

<Style x:Key="DefaultListViewStyle" TargetType="{x:Type ListView}">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<!--<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="SelectionMode" Value="Single" />
<!--隔行变色-->
<Setter Property="AlternationCount" Value="2"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True"/>
<Setter Property="VirtualizingStackPanel.VirtualizationMode" Value="Recycling"/>
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="SelectionMode" Value="Single"/>
<Setter Property="ItemContainerStyle" Value="{StaticResource DefaultListViewItemContainerStyle}"/>
<Setter Property="Template" Value="{StaticResource DefaultListViewTemplateStyle}"/>
<Setter Property="ItemsPanel" Value="{StaticResource VerticalListViewPanel}"/>
</Style>
</ResourceDictionary>


附加属性类:

public static class ListViewHelper
{
static ListViewHelper()
{

}

#region ListView附加属性

public static readonly DependencyProperty HorizontalLineWidthProperty = DependencyProperty.RegisterAttached("HorizontalLineWidth", typeof(double),
typeof(ListViewHelper), new PropertyMetadata(1.0));
public static double GetHorizontalLineWidth(DependencyObject dp)
{
return (double)dp.GetValue(HorizontalLineWidthProperty);
}
public static void SetHorizontalLineWidth(DependencyObject dp, double value)
{
dp.SetValue(HorizontalLineWidthProperty, value);
}

public static readonly DependencyProperty VerticalLineWidthProperty = DependencyProperty.RegisterAttached("VerticalLineWidth", typeof(double),
typeof(ListViewHelper), new PropertyMetadata(1.0));
public static double GetVerticalLineWidth(DependencyObject dp)
{
return (double)dp.GetValue(VerticalLineWidthProperty);
}
public static void SetVerticalLineWidth(DependencyObject dp, double value)
{
dp.SetValue(VerticalLineWidthProperty, value);
}

public static readonly DependencyProperty HorizontalLineBrushProperty = DependencyProperty.RegisterAttached("HorizontalLineBrush", typeof(Brush),
typeof(ListViewHelper), new PropertyMetadata(Brushes.Red));
public static Brush GetHorizontalLineBrush(DependencyObject dp)
{
return (Brush)dp.GetValue(HorizontalLineBrushProperty);
}
public static void SetHorizontalLineBrush(DependencyObject dp, Brush value)
{
dp.SetValue(HorizontalLineBrushProperty, value);
}

public static readonly DependencyProperty VerticalLineBrushProperty = DependencyProperty.RegisterAttached("VerticalLineBrush", typeof(Brush),
typeof(ListViewHelper), new PropertyMetadata(Brushes.Black));
public static Brush GetVerticalLineBrush(DependencyObject dp)
{
return (Brush)dp.GetValue(VerticalLineBrushProperty);
}
public static void SetVerticalLineBrush(DependencyObject dp, Brush value)
{
dp.SetValue(VerticalLineBrushProperty, value);
}

public static readonly DependencyProperty HorizontalLineVisibilityProperty = DependencyProperty.RegisterAttached("HorizontalLineVisibility", typeof(Visibility),
typeof(ListViewHelper), new PropertyMetadata(Visibility.Collapsed));
public static Visibility GetHorizontalLineVisibility(DependencyObject dp)
{
return (Visibility)dp.GetValue(HorizontalLineVisibilityProperty);
}
public static void SetHorizontalLineVisibility(DependencyObject dp, Visibility value)
{
dp.SetValue(HorizontalLineVisibilityProperty, value);
}

public static readonly DependencyProperty VerticalLineVisibilityProperty = DependencyProperty.RegisterAttached("VerticalLineVisibility", typeof(Visibility),
typeof(ListViewHelper), new PropertyMetadata(Visibility.Collapsed));
public static Visibility GetVerticalLineVisibility(DependencyObject dp)
{
return (Visibility)dp.GetValue(VerticalLineVisibilityProperty);
}
public static void SetVerticalLineVisibility(DependencyObject dp, Visibility value)
{
dp.SetValue(VerticalLineVisibilityProperty, value);
}
#endregion
}


使用:

<ListView Margin="3" Width="600" Height="320"
    ItemsSource="{Binding Persons}"
    Style="{StaticResource DefaultListViewStyle}">
    <ListView.ItemContainerStyle>
        <Style BasedOn="{StaticResource DefaultListViewItemContainerStyle}" TargetType="{x:Type ListViewItem}">
            <!--设置水平线条宽度-->
            <Setter Property="control:ListViewHelper.HorizontalLineWidth" Value="2"/>
            <!--设置水平线条画刷-->
            <!--<Setter Property="control:ListViewHelper.HorizontalLineBrush" Value="Red"/>-->
            <Setter Property="control:ListViewHelper.HorizontalLineBrush" Value="{StaticResource ListView.GridLine.Horizontal.Brush}"/>
            <!--设置水平线条是否可见-->
            <Setter Property="control:ListViewHelper.HorizontalLineVisibility" Value="Visible"/>

            <!--设置垂直线条宽度-->
            <Setter Property="control:ListViewHelper.VerticalLineWidth" Value="1"/>
            <!--设置垂直线条画刷-->
            <Setter Property="control:ListViewHelper.VerticalLineBrush" Value="Black"/>
            <!--设置垂直线条是否可见-->
            <Setter Property="control:ListViewHelper.VerticalLineVisibility" Value="Visible"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView ColumnHeaderContainerStyle="{StaticResource DefaultListViewHeader}">
            <GridViewColumn Header="Name" Width="160" DisplayMemberBinding="{Binding Name}"/>
            <GridViewColumn Header="Country" Width="130" DisplayMemberBinding="{Binding Country}"/>
            <GridViewColumn Header="Age" Width="120" DisplayMemberBinding="{Binding Age}"/>
            <GridViewColumn Header="Other" Width="120">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="Other"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: