【发布时间】:2012-02-16 04:35:51
【问题描述】:
我有一个 WPF 应用程序,它带有一个在窗口中加载的网格。
如何执行以下操作 (1) 添加页眉渐变样式(2色垂直渐变) (2) 交替行样式到下面的这个网格? (3) 悬停(鼠标悬停在行突出显示)网格中每一行的行样式?
<Window
x:Class="DiagramDesigner.PadDetailsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DiagramDesigner"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit"
xmlns:s="clr-namespace:DiagramDesigner"
xmlns:c="clr-namespace:DiagramDesigner.Controls"
Title="Pad Details"
WindowStyle="SingleBorderWindow"
Width="750"
Height="650" Loaded="Window_Loaded">
<Window.Resources>
</Window.Resources>
<ScrollViewer Name="DesignerScrollViewer" Background="Transparent" HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto">
<Grid x:Name="LayoutRoot" Margin="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="650" >
<StackPanel Orientation="Vertical" Margin="0,0,-27,0">
<!--<StackPanel>-->
<toolkit:DataGrid x:Name="dgMain" ItemsSource="{Binding}" VerticalScrollBarVisibility="Visible" AutoGenerateColumns="False" Width="650" RowHeight="20">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Header="Pad Name" Binding="{Binding Path=PadStream}" Width="80" />
<toolkit:DataGridTextColumn Header="Parent" Binding="{Binding Path=Parent}" Width="50"/>
<toolkit:DataGridTextColumn Header="Type" Binding="{Binding Path=Type}" Width="50"/>
<toolkit:DataGridTextColumn Header="Code" Binding="{Binding Path=Code}" Width="50"/>
<toolkit:DataGridTextColumn Header="Volume" Binding="{Binding Path=Volume}" Width="80"/>
<toolkit:DataGridTextColumn Header="Mass Rate" Binding="{Binding Path=MassRate}" Width="80"/>
<toolkit:DataGridTextColumn Header="Min Flow Rate" Binding="{Binding Path=MinFlowRate}" Width="80"/>
<toolkit:DataGridTextColumn Header="Max Flow Rate" Binding="{Binding Path=MaxFlowRate}" Width="*" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
<!--</StackPanel>-->
<StackPanel>
<Button x:Name="OKButton" Content="OK" Click="OnOkClick" Width="70" Height="23" HorizontalAlignment="Center"
Margin="0,3,0,0" Grid.Row="6" Grid.Column="3"/>
</StackPanel>
</StackPanel>
</Grid>
</ScrollViewer>
</Window>
请让我知道如何为网格完成上述要求的样式。
【问题讨论】:
-
为什么不使用 WPF 4 中内置的 DataGrid?它已经拥有您想要的所有功能。
-
感谢您的回复,但我想知道如何使用 XAML 样式设置上面的网格?
-
除非您使用的是 .net 3.5,否则
DataGrid是内置于 .net 4.0 中的,因此您无需再引用该工具包。 -
@Baboon 这是相同的
DataGrid。 .net 3.5 工具包中的工具包与 .net 4.0 中的工具包相同,只是不再需要工具包引用。