UWP如何使Grid在XAML中可滚动

踢球者

我需要使XAML(在UWP应用中)的表单具有响应性并且还可以滚动。我有这样的代码

 <Grid x:Name="MainGrid">
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup>
            <VisualState x:Name="WideState">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="720" />
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="MainGrid.Margin" Value="24"/>
                    <Setter Target="MainGrid.RowDefinitions[1].Height" Value="auto"/>
                    <Setter Target="MainGrid.ColumnDefinitions[1].Width" Value="*"/>
                    <Setter Target="FirstGrid.Margin" Value="0 0 12 0"/>
                    <Setter Target="SecondGrid.Margin" Value="12 0 0 0"/>
                    <Setter Target="SecondGrid.(Grid.Column)" Value="1"/>
                    <Setter Target="SecondGrid.(Grid.Row)" Value="0"/>
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="NarrowState">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="0" />
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="MainGrid.Margin" Value="12"/>
                    <Setter Target="FirstGrid.Margin" Value="0 0 0 0"/>
                    <Setter Target="SecondGrid.Margin" Value="0 0 0 0"/>
                    <Setter Target="MainGrid.RowDefinitions[0].Height" Value="auto"/>
                    <Setter Target="MainGrid.RowDefinitions[1].Height" Value="*"/>
                    <Setter Target="MainGrid.ColumnDefinitions[1].Width" Value="auto"/>
                    <Setter Target="SecondGrid.(Grid.Column)" Value="0"/>
                    <Setter Target="SecondGrid.(Grid.Row)" Value="1"/>
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>


    <Grid x:Name="FirstGrid" Grid.Column="0" Grid.Row="0">

        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
        </Grid.RowDefinitions>

        <Grid Grid.Column="0" Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="130"/>
                <ColumnDefinition Width="*" MaxWidth="500"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Column="0" Grid.Row="0" x:Uid="lblName" />
            <my:SfTextBoxExt Grid.Column="1" Grid.Row="0" x:Uid="txtName" />
        </Grid>

    </Grid>
    <Grid x:Name="SecondGrid" Grid.Column="1" Grid.Row="0" >

        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
        </Grid.RowDefinitions>

        <Grid Grid.Column="0" Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="130"/>
                <ColumnDefinition Width="*" MaxWidth="500"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Column="0" Grid.Row="0" x:Uid="lblAge" />
            <my:SfTextBoxExt Grid.Column="1" Grid.Row="0" x:Uid="txtAge" />
        </Grid>

    </Grid>

</Grid>

这是响应式的,但不可滚动。当我在ScrollViewer上方添加MainGrid->时,它将可滚动,但响应性不起作用(<VisualState x:Name="WideState">

您有什么想法可以使此Grid滚动显示吗?谢谢。

thang2410199

您需要具有VisualStateGroups作为容器的成员的权限

结构如下:

<Grid Name=root>
    VisualStateGroups here....
    <ScrollViewer>
        <Grid Name=MainGrid>
            ...First and Second grid...
        </Grid>
    </ScrollViewer>
</Grid>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UWP XAML ScrollViewer如何显示可滚动内容的视觉指示

来自分类Dev

如何删除双滚动。xaml uwp 中 ScrollViewer 中的 WebView

来自分类Dev

如何通过UWP XAML / C#中的滚动查看器更改滚动量?

来自分类Dev

ListView XAML UWP中缺少垂直滚动

来自分类Dev

如何滚动到UWP中的元素

来自分类Dev

当我在UWP XAML C#中滚动Liew时垂直滚动

来自分类Dev

UWP:无法使 ListView 可滚动

来自分类Dev

如何使SwiftUI列表在tvOS中可滚动

来自分类Dev

如何使CheckboxTableViewer中的SWT表可滚动?

来自分类Dev

如何使QWidget内容在PyQt中可滚动?

来自分类Dev

如何使屏幕在Flutter中可滚动?

来自分类Dev

如何使Winform在C#中可滚动

来自分类Dev

Flutter Web 中如何使列可滚动?

来自分类Dev

如何使 Electron 中的 div 可滚动

来自分类Dev

如何使<td>中的可滚动div?

来自分类Dev

如何使UIScrollView中的UIImage可滚动?

来自分类Dev

如何增加终端中可滚动的行数?

来自分类Dev

如何在可滚动 <div> 中激活向下滚动按钮

来自分类Dev

如何定位可滚动 div 中的特定元素滚动位置?

来自分类Dev

如何在UWP Windows 10中的XAML中重用网格

来自分类Dev

如何在uwp的xaml中拉伸/调整svg的大小?

来自分类Dev

如何在UWP中创建通用的xaml用户控件?

来自分类Dev

如何使用XAML在UWP应用中创建默认按钮?

来自分类Dev

如何在 UWP [XAML] 中隐藏 DataGridTextColumn 列?

来自分类Dev

C#UWP如何在xaml中显示string []?

来自分类Dev

如何使LinearLayout可滚动?

来自分类Dev

如何使LinearLayout可滚动?

来自分类Dev

如何使Gridlayout可滚动

来自分类Dev

如何使容器可滚动?