Сетка в сетке не показывает полосу прокрутки в C # WPF - PullRequest
1 голос
/ 23 сентября 2019

У меня есть сетка в другой сетке и я добавляю вторую сетку в ScrollViewer, но не вижу полосы прокрутки для нее.Сетка, которую я добавляю, ScrollViewer имеет имя InfoGrid .Я не понимаю, почему ScrollViewer не работает.Есть ли какой-нибудь альтернативный способ, которым вы можете мне предложить?Мой код xaml для всего окна:

<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>

1 Ответ

0 голосов
/ 23 сентября 2019

Созданный вами ScrollViewer не имеет grid.Row, вместо этого вы помещаете его в сетку внутри него.Это не имеет особого смысла, так как сетка («Информационная сетка») находится внутри ScrollViewer, поэтому ее родительский элемент - ScrollViewer.Возможно, вы захотите установить строку и столбец ScrollViewer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...