<DataGrid x:Name="mainDataGrid" Grid.Row="2" CanUserAddRows="False" AutoGenerateColumns="False" >
<DataGrid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF7BA8DE" Offset="0"/>
<GradientStop Color="#FFCAD9EC" Offset="1"/>
</LinearGradientBrush>
</DataGrid.Background>
<DataGrid.AlternatingRowBackground>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFE4E8DB" Offset="0"/>
<GradientStop Color="#FFEDF3CE" Offset="1"/>
</LinearGradientBrush>
</DataGrid.AlternatingRowBackground>
<DataGrid.DataContext>
<model:DriverBaseWage/>
</DataGrid.DataContext>
<DataGrid.Columns>
<DataGridTextColumn Header="基本工资ID" Binding="{Binding DriverWageID, UpdateSourceTrigger=PropertyChanged}" Width="100"/>
<DataGridTextColumn Header="驾驶员姓名" Binding="{Binding EmployeeID, UpdateSourceTrigger=PropertyChanged}" Width="120"/>
<DataGridTextColumn Header="基本工资" Binding="{Binding BaseWage,UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:###.##}}" Width="120"/>
<DataGridTextColumn Header="全勤奖" Binding="{Binding PerfectAttendance,UpdateSourceTrigger=PropertyChanged,StringFormat={}{0:###.##}}" Width="120"/>
<DataGridTextColumn Header="安全奖" Binding="{Binding Safe,UpdateSourceTrigger=PropertyChanged,StringFormat={}{0:###.##}}" Width="120"/>
<DataGridTextColumn Header="工龄奖" Binding="{Binding WorkAge,UpdateSourceTrigger=PropertyChanged,StringFormat={}{0:###.##}}" Width="120"/>
<DataGridTextColumn Header="主驾补助" Binding="{Binding MainDriver,UpdateSourceTrigger=PropertyChanged,StringFormat={}{0:###.##}}" Width="150"/>
</DataGrid.Columns>
</DataGrid>
代码就这样,感觉没什么问题,但是就不显示垂直滚动条,检查好几遍,没检查到问题。最后知道是布局的问题。
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="50" />
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
因为最后一行是自动。DataGrid正好是放在这一行,datagrid 总认为高度是无穷大的,所以不显示滚动条。
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="50" />
<RowDefinition Height="460"/>
</Grid.RowDefinitions>
修改高度为固定值时,滚动条就出现了。这只写给自己看的。