c# - 额外的列仍然显示在 Datagrid 中?
问题描述
我似乎无法摆脱这个 Datagrid 中额外的“列”......不太知道我做错了什么?
<StackPanel Margin="5" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Hidden"
CanContentScroll="True"
utils:TopMouseScrollPriorityBehavior.TopMouseScrollPriority="True">
<DataGrid AutoGenerateColumns="False" Name="SDataGrid"
Grid.Row="1" RowHeaderWidth="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ColumnHeaderStyle="{DynamicResource HeaderStyle}">
<DataGrid.Columns>
<DataGridTextColumn Header="" MinWidth="40" x:Name="SId" />
<DataGridTextColumn Header="Name" MinWidth="100" x:Name="SName" />
<DataGridTextColumn Header="Colour" Width="*" x:Name="SColour" />
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Grid>
</StackPanel>
<Style x:Key="HeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="{StaticResource Polour}" />
<Setter Property="Foreground" Value="{StaticResource Solour}" />
<Setter Property="BorderBrush" Value="{StaticResource Solour}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="FontFamily" Value="{StaticResource Gott}"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="MinWidth" Value="0" />
<Setter Property="MinHeight" Value="30" />
<Setter Property="Cursor" Value="Hand" />
</Style>
出于某种原因,我只是无法让标题末尾的一点点消失,最后一个“颜色”列一直延伸。我希望它水平拉伸......当它居中时不会出现这个问题......
解决方案
将设置 ScrollViewer HorizontalScrollBarVisibility="Disabled" 而不是 "Hidden" 工作?
<StackPanel Margin="5" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
CanContentScroll="True">
<DataGrid AutoGenerateColumns="False" Name="SDataGrid"
Grid.Row="1" RowHeaderWidth="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ColumnHeaderStyle="{DynamicResource HeaderStyle}">
<DataGrid.Columns>
<DataGridTextColumn Header="" MinWidth="40" x:Name="SId" />
<DataGridTextColumn Header="Name" MinWidth="100" x:Name="SName" />
<DataGridTextColumn Header="Colour" Width="*" x:Name="SColour" />
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
</Grid>
</StackPanel>
推荐阅读
- c++ - 如何修复 Bullet Physics C++ LNK2019 错误
- python - Python Pandas groupby:如何根据其他列进行条件聚合
- oracle - REST 服务通过 Postman 工作,而不是使用 PL/SQL
- ios - 在 tableView(_:cellForRowAt:) iOS 13 崩溃
- php - 使用 Xdebug 和 PHP Debug 扩展在 CLI 模式下调试 PHP
- python - Replacing text in .ai, .pdf, .eps etc for print in Python
- java - Java 测试覆盖率工具仅报告已更改文件的覆盖率?
- javascript - 如何在我的 ajax 脚本中实现 setinterval?
- python - 输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值 - 尝试了所有方法但不起作用
- php - 验证规则(存在)在测试期间产生错误