我是新来的WPF。我的要求有点不同,DataGrid所以我将其转换如下,但我不想要任何滚动条,但它不会被隐藏。我在这里使用LayoutTransform行变成列,列变成行。
<DataGrid x:Name="fuelDataGrid" Width="200" Height="900"
AutoGenerateColumns="False"
ItemsSource="{Binding Pump}"
HorizontalAlignment="Left" FontSize="14"
VerticalAlignment="Top"
HeadersVisibility="None"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
CanUserSortColumns="False"
Cursor="Hand" SelectionMode="Single"
HorizontalScrollBarVisibility="Disabled"
CanUserAddRows="False"
CanUserDeleteRows="False"
PreviewMouseLeftButtonUp="dataGrid2_PreviewMouseLeftButtonUp"
VerticalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
MouseDoubleClick="DataGrid_MouseDoubleClick"
TargetUpdated="DataGrid_OnTargetUpdated">
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="#FFCBCBCB"/>
</DataGrid.Resources>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="LayoutTransform">
<Setter.Value>
<TransformGroup>
<RotateTransform Angle="90"/>
</TransformGroup>
</Setter.Value>
</Setter>
<Setter Property="Width" Value="65"/>
<!--<Setter Property="Height" Value="30"/>-->
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="-90"/>
</TransformGroup>
</DataGrid.LayoutTransform>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="LayoutTransform">
<Setter.Value>
<TransformGroup>
<RotateTransform Angle="90"/>
</TransformGroup>
</Setter.Value>
</Setter>
<Setter Property="Width" Value="100"/>
<Setter Property="Foreground" Value="Black" />
<!--<Setter Property="Height" Value="30"/>-->
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<!-- <DataGridTextColumn Header="Old Price" Binding="{Binding Row1Value}" /> -->
<DataGridTemplateColumn Header="Old Price">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
// Code here
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Current Price">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
// Code here
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)
我也在下面尝试了隐藏。但没有任何效果。
VerticalScrollBarVisibility="Hidden"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
HorizontalScrollBarVisibility="Hidden"
Run Code Online (Sandbox Code Playgroud)
这个简单的测试用例为我提供了一个没有滚动条的数据网格:
<DataGrid
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding Items}" />
Run Code Online (Sandbox Code Playgroud)
它绑定到 50 个字符串的集合。前几个是可见的,其余的超出了窗口的范围。没有出现滚动条。也许尝试简化您的测试用例,直到找到问题为止?
编辑:我尝试复制整个数据网格 xaml,但仍然无法重现该问题。当然,我必须删除调用未知代码隐藏方法的部分,并且我TextBlock在数据模板中替换了您键入“// Code here”的位置。因此,要么我们的环境有什么不同,要么导致问题的代码未包含在您的问题中。
请包含重现您所看到的问题的最简单的测试用例,以便有人可以真正帮助您解决问题。
| 归档时间: |
|
| 查看次数: |
9022 次 |
| 最近记录: |