为了账号安全,请及时绑定邮箱和手机立即绑定

网格没有使用所有可用空间

网格没有使用所有可用空间

C#
宝慕林4294392 2021-11-14 14:54:57
几周前我开始学习 C# 以开发 UWP 应用程序。我正在关注 Bob Tabor 的教程“面向绝对初学者的 Windows 10 开发”。他在教学时提出挑战,因此我们应用所学。在他的视频中没有。31、他提出了挑战。我们的想法是制作一个看起来像这样的应用程序:在解决这个挑战时,我想出了这个 mainpage.xaml。简单介绍一下,顶部的黑色按钮和底部的图像位于 mainpage.xaml 中。还有一个框架,其中根据单击的按钮显示不同的页面。在主页的构造函数中,我导航到 donuts.xaml。这是我的主页.xaml<Pagex:Class="Stupendous_Styles_Challenge.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:Stupendous_Styles_Challenge"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Page.Resources>    <Style TargetType="Button" x:Key="myButtonStyle">        <Setter Property="Background" Value="Black" />        <Setter Property="Height" Value="100" />        <Setter Property="BorderThickness" Value="0, 0, 2, 0" />        <Setter Property="BorderBrush" Value="Gray" />        <Setter Property="HorizontalAlignment" Value="Stretch" />        <Setter Property="VerticalAlignment" Value="Stretch" />    </Style>    <Style TargetType="Image" x:Key="myIconStyle">        <Setter Property="Width" Value="50" />        <Setter Property="Height" Value="50" />        <Setter Property="Margin" Value="0, 0, 10, 0" />    </Style></Page.Resources><Grid>    <Grid.RowDefinitions>        <RowDefinition Height="100" />        <RowDefinition Height="*" />    </Grid.RowDefinitions>
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

如果您明确设置页面的宽度,它将永远不会拉伸:


删除Width="600",或者您可以设置MinWidth="600"。


<Page

x:Class="Stupendous_Styles_Challenge.Donuts"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:local="using:Stupendous_Styles_Challenge"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

mc:Ignorable="d"

Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" MinWidth="600">


<Page.Resources>

    <Style TargetType="TextBlock" x:Key="myTextBlockStyle">

        <Setter Property="FontSize" Value="24" />

        <Setter Property="Margin" Value="10, 0, 0, 0" />

    </Style>


查看完整回答
反对 回复 2021-11-14
?
杨魅力

TA贡献1811条经验 获得超6个赞

我认为这可能会解决问题,这是 donuts.xaml 的编辑版本:


<Page

x:Class="Stupendous_Styles_Challenge.Donuts"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:local="using:Stupendous_Styles_Challenge"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

mc:Ignorable="d"

Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Width="600">


<Page.Resources>

    <Style TargetType="TextBlock" x:Key="myTextBlockStyle">

        <Setter Property="FontSize" Value="24" />

        <Setter Property="Margin" Value="10, 0, 0, 0" />

    </Style>


    <Style TargetType="Slider" x:Key="mySliderStyle">

        <Setter Property="Width" Value="200" />

        <Setter Property="VerticalAlignment" Value="Center"/>

        <Setter Property="Maximum" Value="24" />

        <Setter Property="Minimum" Value="0" />

        <Setter Property="HorizontalAlignment" Value="Stretch" />

    </Style>

</Page.Resources>


<Grid Background="Red" HorizontalAlignment="Stretch">

    <Grid.RowDefinitions>

        <RowDefinition Height="200"/>

        <RowDefinition />

    </Grid.RowDefinitions>


    <Grid.ColumnDefinitions>

        <ColumnDefinition Width="*"/>

    </Grid.ColumnDefinitions>


    <Image Source="Assets/white-logo.png" Height="200" Width="200" HorizontalAlignment="Left" VerticalAlignment="Top"/>


    <Grid Grid.Row="1">

        <Grid.RowDefinitions>

            <RowDefinition Height="40"/>

            <RowDefinition Height="40"/>

        </Grid.RowDefinitions>


        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="*"/>

            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions>


        <TextBlock Text="Original Glazed Count: " Style="{StaticResource myTextBlockStyle}"/>

        <Slider Grid.Column="1" Style="{StaticResource mySliderStyle}" />


        <TextBlock Grid.Row="1" Text="Speedway Special Count: " Style="{StaticResource myTextBlockStyle}" />

        <Slider Grid.Column="1" Grid.Row="1" Style="{StaticResource mySliderStyle}" />

    </Grid>


</Grid> 


<Grid Background="Red" HorizontalAlignment="Stretch"> 

部分:


    <Grid.ColumnDefinitions>

        <ColumnDefinition Width="*"/>

    </Grid.ColumnDefinitions>

我认为问题在于框架内的网格没有占用它可以获得的空间并且具有固定的宽度,添加了 columndefinition 它确实占用了它所能占用的所有空间。


查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信