<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:assembly="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<!--注意clr-namespace是中间的杠-->
<!--public ResourceDictionary Resources { get; set; }-->
<Window.Resources>
<ObjectDataProvider x:Key="sex1" MethodName="GetValues" ObjectType="{x:Type assembly:Enum}">
<ObjectDataProvider.MethodParameters >
<x:Type Type="local:sex"/>
<!--这里竟然不给智能提示-->
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<Grid.RowDefinitions >
<RowDefinition Height="25"/>
<RowDefinition />
</Grid.RowDefinitions>
<DataGrid x:Name="datagrid" AutoGenerateColumns="False" CanUserAddRows="False" Grid.Row="1" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<!--单元格被选中时 改变颜色-->
<Setter Property="Background" Value="LightPink"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="LightBlue"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="SkyBlue"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.RowHeaderStyle>
<!--public Style RowHeaderStyle { get; set; }-->
<Style TargetType="DataGridRowHeader">
<!--必须有targettype,否则无法找到property-->
<Setter Property="Width" Value="20"/>
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="SkyBlue" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowHeaderStyle>
<!--给整个表头添加颜色开始-->
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="LightBlue" Offset="0.5"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="FontSize" Value="13" />
</Style>
</DataGrid.ColumnHeaderStyle>
<!--给整个表头添加颜色结束-->
<!--添加完颜色为什么不能给姓名排序了?不是不能排序,是显示的不明显-->
<DataGrid.Columns>
<!--public ObservableCollection
<DataGridColumn>Columns { get; }--> <!--表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。-->
<DataGridTemplateColumn Header="操作" Width="40">
<DataGridTemplateColumn.CellTemplate><!--public DataTemplate CellTemplate { get; set; }-->
<!--获取或设置一个模板,该模板用于显示未处于编辑模式的单元格的内容。-->
<!--<DataTemplate>
VisualTree
</DataTemplate>-->
<DataTemplate>
<CheckBox/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="公司名称" Width="80" Binding="{Binding companyname,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="姓名" Width="80" Binding="{Binding name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<!--<DataGridComboBoxColumn Header="性别" SelectedItemBinding="{Binding sex}" ItemsSource="{Binding Source={StaticResource sex1}}"/>-->
<!--获取或设置当前选定项的绑定。-->
<DataGridTemplateColumn Header="性别">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding sex}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate >
<ComboBox x:Name="combobox" ItemsSource="{Binding Source={StaticResource sex1}}" SelectedItem="{Binding sex}" IsSynchronizedWithCurrentItem="False"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<!--感觉编辑起来选中格外费事啊-->
</DataGridTemplateColumn>
<DataGridTextColumn Header="年龄" Width="80" Binding="{Binding age,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="职务" Width="80" Binding="{Binding job,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
datagrid设置样式
最新推荐文章于 2024-01-16 13:42:25 发布