1

I have a Grid in another Grid and add the second Grid into ScrollViewer but don't see scrollbar for it. The grid i add ScrollViewer has the name InfoGrid. I dont understand why ScrollViewer is not working. Is there any alternative way you can suggest me ? My xaml code for the all window :

<Window x:Class="ModelView.KillCardCheck"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Width="Auto" Height="Auto" SizeToContent="WidthAndHeight"
        ResizeMode="NoResize" Icon="pack://application:,,,/Resources/image/ffdc_gui.png"
        xmlns:lex="http://schemas.root-project.org/xaml/presentation" Closing="WindowClosing">

    <Grid Style="{DynamicResource GridStyle}" HorizontalAlignment="Stretch" 
VerticalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition Height="12"/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition/>
            <RowDefinition Height="40"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="11"/>
            <ColumnDefinition Width="109"/>
            <ColumnDefinition Width="250"/>
            <ColumnDefinition Width="100"/>
        </Grid.ColumnDefinitions>
        <DataGrid Grid.Column="1" Grid.ColumnSpan="3" Grid.Row="2" Style="{DynamicResource {x:Type DataGrid}}"
                      AutoGenerateColumns="False" CanUserSortColumns="False"  CanUserAddRows="False"
                      Margin="4,4,4,4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" RowHeight="25" Name="dgKillCardChecks" 
                                  SelectionMode="Single" BorderThickness="1,1,1,0">
            <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding Number}" 
                                Width="30" IsReadOnly="True">
                </DataGridTextColumn>
                <DataGridTemplateColumn Header="{lex:LocText Key=check_list, Dict=language, Assembly=FfdcLocalization}" Width="*" >
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox Name="chkCheckList" Content="{Binding CheckItem}"
                                                  Click="CheckListCheckBoxOnClick"
                                              Tag="{Binding Index}"
                                                  IsChecked="{Binding Path=CheckStatus, UpdateSourceTrigger=PropertyChanged}"
                                                  IsHitTestVisible="{Binding Enabled}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

            </DataGrid.Columns>

        </DataGrid>
        <ScrollViewer VerticalScrollBarVisibility="Visible">
            <Grid Style="{DynamicResource GridStyle}" Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3" Margin="4,4,4,4" Name="InfoGrid" >
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            </Grid>
         </ScrollViewer>
        <TextBlock Name="descriptionBlock" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Margin="4,4,4,4"></TextBlock>
        <Button Style="{DynamicResource {x:Type Button}}" Grid.Row="4" Grid.Column="3" Grid.ColumnSpan="1" 
                    x:Name="btnQuit" MaxHeight="30" Margin="2,4,0,6" MaxWidth="120" MinWidth="80"
                    Content="{lex:LocText Key=close, Dict=language, Assembly=FfdcLocalization}"
                    VerticalContentAlignment="Center" MinHeight="30" VerticalAlignment="Center" HorizontalAlignment="Left" Click="CloseClick"/>
        <Button Style="{DynamicResource {x:Type Button}}" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" 
                    x:Name="btnClear" MaxHeight="30" Margin="2,4,0,6" MaxWidth="200" MinWidth="80"
                    Content="{lex:LocText Key=clear_killcard, Dict=language, Assembly=FfdcLocalization}"
                    VerticalContentAlignment="Center" MinHeight="30" VerticalAlignment="Center" HorizontalAlignment="Right" Click="ClearKillCardClick"/>
    </Grid>

</Window>
nihasmata
  • 652
  • 1
  • 8
  • 28
  • You should move `Grid.Row="3" Grid.Column="1"` to the ScrollViewer instead of declaring it at the inner Grid. – Clemens Sep 23 '19 at 13:51

1 Answers1

0

The ScrollViewer that you made has no grid.Row set, instead you put it on the grid inside it. That does not make much sense since the grid ("Info Grid") is inside the ScrollViewer so it's parent is the ScrollViewer. You might want to try setting the ScrollViewer row and column.

Edwinke
  • 69
  • 1
  • 6