繁体   English   中英

Wpf 如何在框架内缩小页面?

[英]Wpf how to shrink page in frame?

我研究了表格,已经有解决方案,但没有一个对我有用。 Belove 截图以可视化问题。

截屏

主.xaml

 <Frame x:Name="Main" Padding="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Margin="95,86,0,10" NavigationUIVisibility="Hidden"/>

Account.xaml

<Page x:Class="Project.WPF.UI.Pages.Account"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  xmlns:local="clr-namespace:Project.WPF.UI.Pages"
  mc:Ignorable="d"
  Height="auto" Width="auto"
  Title="Account">

<Grid>
    <Grid x:Name="gridTop" Margin="0,0,0,500">

        <Button x:Name="btnEdit" Content="EDIT" HorizontalAlignment="Left" Margin="706,0,0,0" VerticalAlignment="Center" Height="46" Width="84"/>
        <Button x:Name="btnDeleteAccount" Content="DELETE ACCOUNT" HorizontalAlignment="Left"  VerticalAlignment="Center" Height="46" Width="167" Margin="400,0,0,0" />
        <Button x:Name="btnSave" Content="SAVE" HorizontalAlignment="Left" Margin="599,0,0,0" VerticalAlignment="Center" Height="46" Width="84"/>
    </Grid>
    
    <Grid x:Name="gridMain" Margin="0,105,0,0">
        <Label x:Name="lblUserName" Content="User Name" HorizontalAlignment="Left" Margin="68,27,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblName" Content="Name" HorizontalAlignment="Left" Margin="68,66,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblSurname" Content="Surname" HorizontalAlignment="Left" Margin="68,100,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblMembershipType" Content="Membership Type" HorizontalAlignment="Left" Margin="68,134,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblUserType" Content="UserType" HorizontalAlignment="Left" Margin="68,167,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblEmail" Content="Email" HorizontalAlignment="Left" Margin="68,201,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblAddress1" Content="Address 1" HorizontalAlignment="Left" Margin="68,235,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblAddress2" Content="Address 2" HorizontalAlignment="Left" Margin="68,269,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblAddress3" Content="Address 3" HorizontalAlignment="Left" Margin="65,303,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblCity" Content="City" HorizontalAlignment="Left" Margin="65,337,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblState" Content="State" HorizontalAlignment="Left" Margin="65,371,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblCountry" Content="Country" HorizontalAlignment="Left" Margin="68,405,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
        <Label x:Name="lblPostalCode" Content="PostalCode" HorizontalAlignment="Left" Margin="68,439,0,0" VerticalAlignment="Top" FontSize="22" FontFamily="Roboto Slab"/>
    </Grid>
</Grid>

Main.xaml.cs

    private void StackPanel_MouseLeftButtonUp(object sender, RoutedEventArgs e)
    {
        Main.NavigationService.Navigate(new Account());
    }

如何将帐户页面放入框架中? 即使 window 已最大化或调整大小,帐户页面仍将适合框架。

感谢您的回答。

如果您以这种方式更改Account.xaml,那么它将解决问题。

 <Grid VerticalAlignment="Top">
    <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <StackPanel Grid.Row="0" Grid.Column="2" HorizontalAlignment="Left" VerticalAlignment="Top" Orientation="Horizontal">
        <Button x:Name="btnDeleteAccount" Content="DELETE ACCOUNT"   Height="46" Width="167"/>
        <Button x:Name="btnSave" Content="SAVE"  Margin="10,0,10,0" Height="46" Width="84"/>
        <Button x:Name="btnEdit"  Content="EDIT" Height="46" Width="84"/>
    </StackPanel>
    <Label x:Name="lblUserName" Grid.Row="1" Grid.Column="0" Content="User Name" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblName" Grid.Row="2" Grid.Column="0"  Content="Name" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblSurname" Grid.Row="3" Grid.Column="0"  Content="Surname" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblMembershipType" Grid.Row="4" Grid.Column="0"  Content="Membership Type" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblUserType" Grid.Row="5" Grid.Column="0"  Content="UserType" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblEmail" Grid.Row="6" Grid.Column="0"  Content="Email"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblAddress1" Grid.Row="7" Grid.Column="0"  Content="Address 1"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblAddress2" Grid.Row="8" Grid.Column="0"  Content="Address 2" FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblAddress3" Grid.Row="9" Grid.Column="0"  Content="Address 3"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblCity" Grid.Row="10" Grid.Column="0"  Content="City"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblState" Grid.Row="11" Grid.Column="0"  Content="State"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblCountry" Grid.Row="12" Grid.Column="0"  Content="Country"  FontSize="22" FontFamily="Roboto Slab"/>
    <Label x:Name="lblPostalCode" Grid.Row="13" Grid.Column="0"  Content="PostalCode"  FontSize="22" FontFamily="Roboto Slab"/>
    
    <TextBox x:Name="txtUserName" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" Margin="0,5,0,0" TextWrapping="Wrap" Width="320"  FontSize="20" Background="#FFECECEC"/>
    <TextBox x:Name="txtName" Grid.Row="2" Grid.Column="1"  HorizontalAlignment="Left" Margin="0,5,0,0" TextWrapping="Wrap" Width="320" FontSize="20" Background="#FFECECEC"/>
    <TextBox x:Name="txtSurName" Grid.Row="3" Grid.Column="1"  HorizontalAlignment="Left" Margin="0,5,0,0" TextWrapping="Wrap" Width="320"  FontSize="20" Background="#FFECECEC"/>
    <TextBox x:Name="txtMembershipType" Grid.Row="4" Grid.Column="1"  HorizontalAlignment="Left" Margin="0,5,0,0" TextWrapping="Wrap" Width="320" FontSize="20" Background="#FFECECEC"/>
    <TextBox x:Name="txtUserType" Grid.Row="5" Grid.Column="1"  HorizontalAlignment="Left" Margin="0,5,0,0" TextWrapping="Wrap" Width="320" FontSize="20" Background="#FFECECEC"/>
    <ComboBox x:Name="cmbEmail" Grid.Row="6" Grid.Column="1"  HorizontalAlignment="Left" Margin="0,5,0,0" Width="320" FontSize="20" Background="#FFECECEC"/>
</Grid>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM