zoukankan      html  css  js  c++  java
  • WPF笔记: 自定义DataGrid样式

    直接xmal style:

    <Style x:Key="GridStyle" TargetType="DataGrid">
            <Setter Property="BorderBrush" Value="Gray"></Setter>
            <Setter Property="BorderThickness" Value="0,1"></Setter>
            <Setter Property="AutoGenerateColumns" Value="False"></Setter>
            <Setter Property="ScrollViewer.CanContentScroll" Value="True"></Setter>
            <Setter Property="GridLinesVisibility" Value="Horizontal"></Setter>
            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"></Setter>
            <Setter Property="SelectionMode" Value="Single"></Setter>
            <Setter Property="SelectionUnit" Value="FullRow"></Setter>
            
            <Setter Property="CanUserDeleteRows" Value="False"></Setter>
            <Setter Property="CanUserSortColumns" Value="False"></Setter>
            <Setter Property="CanUserReorderColumns" Value="False"></Setter>
            <Setter Property="IsReadOnly" Value="True"></Setter>
            <Setter Property="CanUserResizeColumns" Value="False"></Setter>
            <Setter Property="CanUserResizeRows" Value="False"></Setter>
            <Setter Property="CanUserAddRows" Value="False"></Setter>
            <Setter Property="Background" Value="DarkGray"></Setter>
            <Setter Property="Foreground" Value="White"></Setter>
    
            <Setter Property="CellStyle">
                <Setter.Value>
                    <Style TargetType="DataGridCell">
                        <Setter Property="BorderThickness" Value="0"></Setter>
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="DataGridCell">
                                    <Border  BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                                        <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter Property="Background" Value="Silver"></Setter>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="true">
                                <Setter Property="Background" Value="SlateGray"></Setter>
                            </Trigger>
    
                        </Style.Triggers>
                    </Style>
                </Setter.Value>
            </Setter>
            <Setter Property="ColumnHeaderStyle">
                <Setter.Value>
                    <Style TargetType="DataGridColumnHeader">
                        <Setter Property="Background" Value="Transparent"></Setter>
                        <Setter Property="HorizontalAlignment" Value="Center"></Setter>
    
                    </Style>
                </Setter.Value>
            </Setter>
    
            <Setter Property="RowStyle">
                <Setter.Value>
                    <Style TargetType="DataGridRow">
                        <Setter Property="Height" Value="45"></Setter>
                        <Setter Property="Background" Value="Gray"></Setter>
                        <Setter Property="Foreground" Value="White"></Setter>
    
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter Property="Background" Value="Silver"></Setter>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="true">
                                <Setter Property="Background" Value="SlateGray"></Setter>
                            </Trigger>
    
                        </Style.Triggers>
                    </Style>
                </Setter.Value>
            </Setter>
    
        </Style>

    使用:

     <DataGrid Style="{StaticResource GridStyle}" ItemsSource="{Binding Path=Pacses}" >
                    <DataGrid.Columns>
                        
                        <DataGridTextColumn  Header="Name" Width="3*" MinWidth="120" Binding="{Binding Name}" />
                        <DataGridTextColumn  Header="IP" Width="3*" MinWidth="120" Binding="{Binding IP}" />
                        <DataGridTextColumn Header="PORT" Width="3*" MinWidth="120" Binding="{Binding Port}"/>
    
                        
                        
                        <DataGridTemplateColumn Header="#" Width="4*" MinWidth="160">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                                        <ToggleSwitchButton IsChecked="{Binding IsDefault}" ToolTip="Set Default"                                                                 
                                                                CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Path=SelectedItem}"
                                                               Command="{Binding ElementName=PacsSettingPage,Path=DataContext.SetDefaultPacsCmd}">
                                            
                                        </ToggleSwitchButton>
                                        
                                    </StackPanel>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>
                </DataGrid>
  • 相关阅读:
    uva489HangMan
    uva1339Ancient Cipher
    uva11292 Dragon of Loowater
    数字图像处理中所用数学工具2---线性操作与非线性操作
    数字图像处理中所用数学工具1---阵列与矩阵操作
    像素的邻接性、连通性与距离度量
    Matlab 数字图像处理1---图像的收缩和放大
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(me
    MapRdeuce&Yarn的工作机制(YarnChild是什么)
    Hive介绍及安装
  • 原文地址:https://www.cnblogs.com/coder-fang/p/10239389.html
Copyright © 2011-2022 走看看