我在网格中有一些Textblocks和一个Datagrid。 Datagrid垂直滚动条工作正常。但是当我将网格放在Viewbox中时,垂直滚动条消失了。以下是我的代码
<Window x:Class=MyProject.View.MyTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStartupLocation="CenterScreen"
Title="{Binding FormTitle}" Height="500" Width="800" >
<Window.InputBindings>
<KeyBinding Key="F7" Command="{Binding PrintCommand}" />
</Window.InputBindings>
<Viewbox VerticalAlignment="Top" HorizontalAlignment="Left" Stretch="UniformToFill" >
<Grid Height="Auto" Width="Auto" Name="rootGrid">
<TextBlock Height="12" HorizontalAlignment="Left" Margin="12,12,0,0" Name="textBlock1" Text="Job ID:" VerticalAlignment="Top" />
<TextBlock Height="12" HorizontalAlignment="Left" Margin="12,28,0,0" Name="textBlock2" Text="Job Run Time:" VerticalAlignment="Top"/>
<TextBlock Height="12" HorizontalAlignment="Left" Margin="12,45,0,0" Name="textBlock3" Text="Run Number:" VerticalAlignment="Top" />
<TextBlock Height="12" HorizontalAlignment="Left" Margin="12,61,0,0" Name="textBlock4" Text="User Name:" VerticalAlignment="Top" />
<DataGrid CanUserAddRows="False" ItemsSource="{Binding ArchInfo}" AutoGenerateColumns="False"
CanUserDeleteRows="False" CanUserReorderColumns="False"
CanUserSortColumns="True" GridLinesVisibility="All"
ColumnHeaderHeight ="40"
Margin="5,124,5,0" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Table Name" Binding="{Binding Path=TableName, UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="Table Type" Binding="{Binding Path=TableType, UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="Status" Binding="{Binding Path=Status, UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Viewbox>
</Window>
如果我将以下内容添加到Datagrid,滚动条将显示但不起作用。
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
无论我做什么,我只能看到部分Datagrid行。 知道如何解决这个问题吗? 谢谢,
答案 0 :(得分:2)
Andy的评论已经解决了这个问题。
设置Datagrid高度和Stretch =“Uniform”使它工作。见安迪的评论。