WPF 控件【T】TabControl(一) TabControl:TabItem实现多个页面快速切换、

一、TabControl

<Page x:Class="KeenRay.SystemInfoPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:local="clr-namespace:KeenRay"
      mc:Ignorable="d" 
     d:DesignHeight="1080" d:DesignWidth="1920"
      Title="SystemInfoPage" Background="#dbdce1">
    <Viewbox StretchDirection="Both" Stretch="Fill">
        <Grid Margin="10,13" Width="1844" Height="972">
            <TabControl Background="Transparent" BorderBrush="Transparent" Name="tabcontrol">
                <TabItem Header="秘钥配置" Style="{StaticResource  StyleTabItem}" Width="107" Height="30" Name="tab_SecretKey">
                    <Canvas Name="canvas_SecretKey" Margin="-4,-3,-3,-6">
                        <Canvas.Background>
                            <ImageBrush ImageSource="../Icon/SystemSetPage/Background/tab底板.png"/>
                        </Canvas.Background>

                        <TextBlock Text="加密狗ID" Canvas.Left="658" Canvas.Top="203"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="195" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding LockID}"/>

                        <TextBlock Text="加密狗时间" Canvas.Left="647" Canvas.Top="283"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="275" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding LockTime}" IsReadOnly="True"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="275" Name="btn_GetLockTime" Click="btn_GetLockTime_Click"></Button>

                        <TextBlock Text="锁内限制模式" Canvas.Left="637" Canvas.Top="363"></TextBlock>
                        <ComboBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="355" Style="{StaticResource ComboBoxStyle}" VerticalContentAlignment="Center" SelectedIndex="{Binding LockModeIndex}" IsReadOnly="True">
                            <ComboBoxItem Content="小时"></ComboBoxItem>
                            <ComboBoxItem Content="日期"></ComboBoxItem>
                            <ComboBoxItem Content="无限制"></ComboBoxItem>
                        </ComboBox>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="355" Name="btn_GetLockMode" Click="btn_GetLockMode_Click"></Button>

                        <TextBlock Text="到期时间" Canvas.Left="660" Canvas.Top="443"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="435" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding ExpiredDate}" IsReadOnly="True"/>

                        <TextBlock Text="剩余天数" Canvas.Left="660" Canvas.Top="523"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="515" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding SurplusDays}" IsReadOnly="True"/>

                        <TextBlock Text="升级文件" Canvas.Left="660" Canvas.Top="603"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="595" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding UpgradeFile}" IsReadOnly="True"/>



                        <Button Width="66" Height="28" Content="浏览" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="595" Name="btn_BrowseFile" Click="btn_BrowseFile_Click"></Button>
                        <Button Width="66" Height="28" Content="升级" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="595" Name="btn_Upgrade" Click="btn_Upgrade_Click"></Button>
                    </Canvas>
                </TabItem>

                <TabItem Header="软件版本" Style="{StaticResource StyleTabItem}" Width="107" Height="30" Name="tab_SoftwareVersion">
                    <Grid Margin="-3,-3,-2,-6">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>

                        <!--库名称-->
                        <ListView Name="list_LibVersionList" Grid.Column="0" Style="{StaticResource ListViewStyle1}" ItemContainerStyle="{StaticResource ListViewItemContainerStyle}" Margin="0,0,2,3" ItemsSource="{Binding LibVersionList}">
                            <ListView.View>
                                <GridView ColumnHeaderContainerStyle="{StaticResource DefaultGridViewColumnHeader}">
                                    <GridViewColumn Header="库名称" Width="400" DisplayMemberBinding="{Binding Name}"/>
                                    <GridViewColumn Header="版本号" Width="400" DisplayMemberBinding="{Binding Version}"/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                        
                        <!--可执行文件名称-->
                        <ListView Name="listview_ExeVerionList" Grid.Column="1" Style="{StaticResource ListViewStyle1}" ItemContainerStyle="{StaticResource ListViewItemContainerStyle}" Margin="2,0,0,3" ItemsSource="{Binding ExeVersionList}">
                            <ListView.View>
                                <GridView ColumnHeaderContainerStyle="{StaticResource DefaultGridViewColumnHeader}">
                                    <GridViewColumn Header="可执行文件名称" Width="400" DisplayMemberBinding="{Binding Name}"/>
                                    <GridViewColumn Header="版本号" Width="400" DisplayMemberBinding="{Binding Version}"/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                    </Grid>
                </TabItem>


                <TabItem Header="硬件版本" Style="{StaticResource StyleTabItem}" Width="107" Height="30" Name="tab_HardwareVersion">
                    <Grid Margin="-3,-3,-2,-6">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="17*"/>
                            <ColumnDefinition Width="68*"/>
                            <ColumnDefinition Width="837*"/>
                            <ColumnDefinition Width="921*"/>
                        </Grid.ColumnDefinitions>

                        <!--库名称-->
                        <ListView Name="list_FirmwareVersionList" Grid.Column="0" Style="{StaticResource ListViewStyle1}" ItemContainerStyle="{StaticResource ListViewItemContainerStyle}" Margin="0,0,2,3" ItemsSource="{Binding FirmVersionList}" Grid.ColumnSpan="3">
                            <ListView.View>
                                <GridView ColumnHeaderContainerStyle="{StaticResource DefaultGridViewColumnHeader}">
                                    <GridViewColumn Header="固件名称" Width="400" DisplayMemberBinding="{Binding Name}"/>
                                    <GridViewColumn Header="版本号" Width="400" DisplayMemberBinding="{Binding Version}"/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                        <!--可执行文件名称-->
                        <ListView Name="listview_BoardVerionList" Grid.Column="3" Style="{StaticResource ListViewStyle1}" ItemContainerStyle="{StaticResource ListViewItemContainerStyle}" Margin="2,0,0,3" ItemsSource="{Binding BoardVersionList}">
                            <ListView.View>
                                <GridView ColumnHeaderContainerStyle="{StaticResource DefaultGridViewColumnHeader}">
                                    <GridViewColumn Header="版卡名称" Width="400" DisplayMemberBinding="{Binding Name}"/>
                                    <GridViewColumn Header="版本号" Width="400" DisplayMemberBinding="{Binding Version}"/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                    </Grid>
                </TabItem>
                <TabItem Header="序列号配置" Style="{StaticResource StyleTabItem}" Width="107" Height="30" Name="tab_SeriesNumber">
                    <Canvas Name="canvas_SeriesNumber" Margin="-4,-3,-3,-6">
                        <Canvas.Background>
                            <ImageBrush ImageSource="../Icon/SystemSetPage/Background/tab底板.png"/>
                        </Canvas.Background>
                        <TextBlock Text="控制台板卡序列号" Canvas.Left="610" Canvas.Top="203"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="195" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding ConsoleBoardSeriesNumber}"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="195"  Name="btn_ReadControlBoardID" Click="btn_ReadControlBoardID_Click"></Button>
                        <Button Width="66" Height="28" Content="设置" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="195"  Name="btn_SetControlBoardID" Click="btn_SetControlBoardID_Click"></Button>

                        <TextBlock Text="主控板板卡序列号" Canvas.Left="610" Canvas.Top="283"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="275" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding MainControlBoardSeriesNumber}"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="275" Name="btn_ReadMainBoardID" Click="btn_ReadMainBoardID_Click"></Button>
                        <Button Width="66" Height="28" Content="设置" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="275" Name="btn_SetMainBoardID" Click="btn_SetMainBoardID_Click"></Button>

                        <TextBlock Text="时序板板卡序列号" Canvas.Left="610" Canvas.Top="363"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="355" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding SequenceBoardSeriesNumber}"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="355" Name="btn_ReadSequenceBoardID" Click="btn_ReadSequenceBoardID_Click"></Button>
                        <Button Width="66" Height="28" Content="设置" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="355" Name="btn_SetSequenceBoardID" Click="btn_SetSequenceBoardID_Click"></Button>

                        <TextBlock Text="平板序列号" Canvas.Left="647" Canvas.Top="443"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="435" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding DetectorSeriesNumber}"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="435"  Name="btn_ReadDetectorID" Click="btn_ReadDetectorID_Click"></Button>
                        <Button Width="66" Height="28" Content="设置" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="435"  Name="btn_SetDetectorID" Click="btn_SetDetectorID_Click"></Button>

                        <TextBlock Text="高压序列号" Canvas.Left="647" Canvas.Top="523"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="720" Canvas.Top="515" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding GeneratorSeriesNumber}"/>
                        <Button Width="66" Height="28" Content="读取" Style="{StaticResource StyleButton}" Canvas.Left="1220" Canvas.Top="515"  Name="btn_ReadGeneratorID" Click="btn_ReadGeneratorID_Click"></Button>
                        <Button Width="66" Height="28" Content="设置" Style="{StaticResource StyleButton}" Canvas.Left="1300" Canvas.Top="515"  Name="btn_SetGeneratorID" Click="btn_SetGeneratorID_Click"></Button>

                    </Canvas>
                </TabItem>

                <TabItem Header="系统版本" Style="{StaticResource StyleTabItem}" Width="107" Height="30" Name="tab_SystemVersion">
                    <Canvas Name="canvas_SystemVersion" Margin="-4,-3,-3,-6">
                        <Canvas.Background>
                            <ImageBrush ImageSource="../Icon/SystemSetPage/Background/tab底板.png"/>
                        </Canvas.Background>

                        <TextBlock Text="软件发布版本" Canvas.Left="658" Canvas.Top="203"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="735" Canvas.Top="195" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding ReleaseVersion}" IsReadOnly="True"/>

                        <TextBlock Text="软件完整版本" Canvas.Left="658" Canvas.Top="283"></TextBlock>
                        <TextBox Width="480" Height="30" Canvas.Left="735" Canvas.Top="275" Style="{StaticResource TextBoxStyle}" VerticalContentAlignment="Center" Text="{Binding FullVersion}" IsReadOnly="True"/>
                    </Canvas>
                </TabItem>
            </TabControl>
        </Grid>
    </Viewbox>
</Page>

二、其对应的样式

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">

    <SolidColorBrush x:Key="ListBorder" Color="#828790"/>
    <Style x:Key="ListViewStyle1" TargetType="{x:Type ListView}">
        <!--<Setter Property="BorderBrush" Value="{StaticResource ListBorder}"/>-->
        <!--<Setter Property="BorderThickness" Value="1"/>-->
        <Setter Property="Foreground" Value="#FF042271"/>
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
        <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
        <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
        <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListView}">
                    <Themes:ListBoxChrome x:Name="Bd"  SnapsToDevicePixels="true">
                        <Themes:ListBoxChrome.Background>
                            <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/检查协议配置-上底板-背景.png"/>
                        </Themes:ListBoxChrome.Background>
                        <ScrollViewer Padding="{TemplateBinding Padding}" Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
                            <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                        </ScrollViewer>
                    </Themes:ListBoxChrome>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
                        </Trigger>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="IsGrouping" Value="true"/>
                                <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>
                            </MultiTrigger.Conditions>
                            <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
                        </MultiTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="GridViewColumnHeaderGripper" TargetType="Thumb">
        <Setter Property="Width" Value="18" />
        <!--<Setter Property="Background" Value="{StaticResource HeaderBorderBrush}" />-->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Border Padding="{TemplateBinding Padding}" Background="Transparent" Margin="0 0 0 2">
                        <Rectangle Width="1" Fill="{TemplateBinding Background}" HorizontalAlignment="Center" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <Style x:Key="DefaultGridViewColumnHeader" TargetType="GridViewColumnHeader">
        <!--<Setter Property="Foreground" Value="{StaticResource TextForeground}" />
        <Setter Property="Background" Value="{StaticResource HeaderBackground}"></Setter>-->
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="MinHeight" Value="31"/>
        <Setter Property="Height" Value="31"/>
        <Setter Property="BorderThickness" Value="0,0,0,1" />
        <Setter Property="BorderBrush" Value="Silver"/>
        <!--<Setter Property="BorderBrush" Value="{StaticResource HeaderBorderBrush}" />-->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridViewColumnHeader">
                    <Grid Margin="0,-5,0,0">
                        <Grid.Background>
                            <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/检查协议配置-上底板-标头.png"/>
                        </Grid.Background>
                        <Rectangle Fill="Transparent" IsHitTestVisible="True" />
                        <Border x:Name="HeaderBorder" Padding="{TemplateBinding Padding}"
                               >
                            <ContentPresenter x:Name="HeaderContent" Content="{TemplateBinding Content}"
                                              ContentTemplate="{TemplateBinding ContentTemplate}" Margin="5,1,5,1"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True"
                                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                        </Border>
                        <Thumb x:Name="PART_HeaderGripper" HorizontalAlignment="Right" Margin="0,0,-9,0" Style="{StaticResource GridViewColumnHeaderGripper}"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsPressed" Value="true">
                            <Setter TargetName="HeaderContent" Property="Margin" Value="6,1,6,1" />
                        </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  Text="{Binding}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <!--Floating 的 Role 值标识当前是拖放操作的对象的列-->
            <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="DefaultGridViewColumnHeaderForStudyPage" TargetType="GridViewColumnHeader">
        <!--<Setter Property="Foreground" Value="{StaticResource TextForeground}" />
        <Setter Property="Background" Value="{StaticResource HeaderBackground}"></Setter>-->
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="MinHeight" Value="20"/>
        <Setter Property="Height" Value="20"/>
        <Setter Property="BorderThickness" Value="0,0,0,1" />
        <Setter Property="BorderBrush" Value="Silver"/>
        <!--<Setter Property="BorderBrush" Value="{StaticResource HeaderBorderBrush}" />-->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridViewColumnHeader">
                    <Grid Margin="0,-5,0,0">
                        <Grid.Background>
                            <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/检查协议配置-上底板-标头.png"/>
                        </Grid.Background>
                        <Rectangle Fill="Transparent" IsHitTestVisible="True" />
                        <Border x:Name="HeaderBorder" Padding="{TemplateBinding Padding}"
                               >
                            <ContentPresenter x:Name="HeaderContent" Content="{TemplateBinding Content}"
                                              ContentTemplate="{TemplateBinding ContentTemplate}" Margin="5,1,5,1"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True"
                                              SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                        </Border>
                        <Thumb x:Name="PART_HeaderGripper" HorizontalAlignment="Right" Margin="0,0,-9,0" Style="{StaticResource GridViewColumnHeaderGripper}"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsPressed" Value="true">
                            <Setter TargetName="HeaderContent" Property="Margin" Value="6,1,6,1" />
                        </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  Text="{Binding}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <!--Floating 的 Role 值标识当前是拖放操作的对象的列-->
            <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="ListViewItemContainerStyle" TargetType="{x:Type ListViewItem}">
        <!--字体、字号、字色-->
        <Setter Property="FontFamily" Value="Microsoft YaHei"/>
        <Setter Property="FontSize" Value="12"/>
        <Setter Property="Foreground" Value="#202F3B"/>
        <!--行高-->
        <Setter Property="Height" Value="34"/>
        <Setter Property="MinHeight" Value="34"/>
        <!--Margin-->
        <Setter Property="Margin" Value="0"/>
        <!--对齐-->
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <!--背景-->
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="Padding" Value="3,0,0,0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Border x:Name="Bd" Background="{TemplateBinding Background}" SnapsToDevicePixels="true" Margin="{TemplateBinding Margin}">
                        <!--上下item分隔线-->
                        <Border.BorderBrush>#D1D1D1</Border.BorderBrush>
                        <Border.BorderThickness>0,0,0,0.7</Border.BorderThickness>
                        <Grid x:Name="PART_Root" Margin="{TemplateBinding Padding}">
                            <GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                            <ContentPresenter x:Name="contentPresenter" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed"/>
                        </Grid>
                    </Border>
                    <ControlTemplate.Triggers>
                        <!--当item为空-->
                        <Trigger Property="GridView.ColumnCollection" Value="{x:Null}">
                            <Setter TargetName="contentPresenter" Property="Visibility" Value="Visible" />
                        </Trigger>
                        <!--当鼠标悬停于item上-->
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-悬停.png"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <!--当鼠标点击item-->
                        <Trigger Property="IsFocused" Value="True">
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-选择.png"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <!--当item被选中-->
                        <Trigger Property="IsSelected" Value="true">
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-选择.png"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <!--当设置item背景交替改变,则每个交替周期中第AlternationIndex+1个item的背景颜色-->
                        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
                            <Setter Property="Background" Value="LightBlue" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <Style x:Key="ListViewItemContainerStyleForStudyPage" TargetType="{x:Type ListViewItem}">
        <!--字体、字号、字色-->
        <Setter Property="FontFamily" Value="Microsoft YaHei"/>
        <Setter Property="FontSize" Value="12"/>
        <Setter Property="Foreground" Value="#202F3B"/>
        <!--行高-->
        <Setter Property="Height" Value="20"/>
        <Setter Property="MinHeight" Value="20"/>
        <!--Margin-->
        <Setter Property="Margin" Value="0"/>
        <!--对齐-->
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <!--背景-->
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="Padding" Value="3,0,0,0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Border x:Name="Bd" Background="{TemplateBinding Background}" SnapsToDevicePixels="true" Margin="{TemplateBinding Margin}">
                        <!--上下item分隔线-->
                        <Border.BorderBrush>#D1D1D1</Border.BorderBrush>
                        <Border.BorderThickness>0,0,0,0.7</Border.BorderThickness>
                        <Grid x:Name="PART_Root" Margin="{TemplateBinding Padding}">
                            <GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                            <ContentPresenter x:Name="contentPresenter" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed"/>
                        </Grid>
                    </Border>
                    <ControlTemplate.Triggers>
                        <!--当item为空-->
                        <Trigger Property="GridView.ColumnCollection" Value="{x:Null}">
                            <Setter TargetName="contentPresenter" Property="Visibility" Value="Visible" />
                        </Trigger>
                        <!--当鼠标悬停于item上-->
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-悬停.png"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>

                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="Selector.IsSelectionActive" Value="False"/>
                                <Condition Property="Selector.IsSelected" Value="True"/>
                            </MultiTrigger.Conditions>
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-选择.png"/>
                                </Setter.Value>
                            </Setter>
                        </MultiTrigger>

                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="Selector.IsSelectionActive" Value="True"/>
                                <Condition Property="Selector.IsSelected" Value="True"/>
                            </MultiTrigger.Conditions>
                            <Setter TargetName="Bd" Property="Background">
                                <Setter.Value>
                                    <ImageBrush ImageSource="../../Icon/SystemSetPage/Background/病人列表-选择.png"/>
                                </Setter.Value>
                            </Setter>
                        </MultiTrigger>
                        <!--当设置item背景交替改变,则每个交替周期中第AlternationIndex+1个item的背景颜色-->
                        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
                            <Setter Property="Background" Value="LightBlue" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值