使XAML布局动态

本文关键字:动态 布局 XAML | 更新日期: 2023-09-27 18:21:35

我是XAML和C#的新手,所以这可能是一个简单的问题,但我的XAML也是

<Page
x:Class="Tournament_Director_Windows.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Tournament_Director_Windows"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="LightGray">
    <Button  Style="{StaticResource AddAppBarButtonStyle}" Foreground="#FF094AB2" Click="onAddNewBowlerClick" HorizontalAlignment="Right" RenderTransformOrigin="0.4,0.508" Margin="0,10,115,679"/>
    <ListView Height="648" Width="377" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="itemListView" ItemClick="itemListView_ItemClick" ItemsSource="{Binding}" IsItemClickEnabled="True" Margin="225,110,0,0">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}"/>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    <TextBlock TextWrapping="Wrap" Text="Bowlers" Height="54" Width="177" FontSize="50" Foreground="#FF094AB2" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="225,10,964,704"/>
    <Button  Style="{StaticResource RefreshAppBarButtonStyle}" Click="onSyncClick"  Background="#FFF8FCFD" HorizontalAlignment="Right" Foreground="#FF094AB2" BorderBrush="#FFFBF9F9" Margin="0,10,10,679"/>
    <ListView HorizontalAlignment="Left" Height="Auto" Width="220" Background="Silver" SelectionChanged="MenuListView_SelectionChanged">
        <!--<ListView.Resources> 
            <Style TargetType="ListViewItem">
                <Setter Property="Foreground" Value="#FF094AB2" />
                <Setter Property="FontSize" Value="30" />
                <Setter Property="Height" Value="75"/>
            </Style>
        </ListView.Resources>-->
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="Foreground" Value="#FF094AB2" />
                <Setter Property="FontSize" Value="25" />
                <Setter Property="Height" Value="75"/>
                <Setter Property="Padding" Value="10"/>
            </Style>
        </ListView.ItemContainerStyle>
        <x:String>Bowlers</x:String>
        <x:String>Brackets</x:String>
        <x:String>Scores</x:String>
    </ListView>
    <ScrollViewer Height="Auto" HorizontalAlignment="Stretch" Width="754" Margin="602,110,0,10">
    </ScrollViewer>
</Grid>

我的问题是关于最后的ScrollViewer,我把它作为一个设置的宽度,但我想做的是让这个宽度从ListView旁边的设置位置填充屏幕的其余部分,所以无论你有什么屏幕大小,它看起来都是一样的,如果你有一个更大的屏幕,或者因为屏幕更小而被切掉,就没有太大的空间。

我该怎么做?

使XAML布局动态

尝试将<ColumnDefinitions>与宽度属性"Auto""*"一起使用,将<RowDefinitions>与高度属性"Auto""*"一起用于网格。在这种情况下,您可以管理内容的哪些部分具有永久大小,以及哪些部分将通过窗口调整大小。