在窗口WPF内重新调整页面大小

时间:2014-01-03 07:14:08

标签: c# wpf xaml

我有一个窗口,里面有一个tabcontrol,每个tabitem都会为一个框架提供一个框架,该框架绑定到一个页面对象。但我似乎无法使框架/页面调整大小以适应“主窗口”。这是我的代码:

<controls:MetroWindow x:Class="Mplayer.MainWindow"
                  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
                  Title="Mplayer" 
                  Initialized="Window_Initialized" Height="770" Width="1125">


<TabControl HorizontalAlignment="Left" Height="45" VerticalAlignment="Top" Width="1125" Margin="0,0,0,0">
    <TabItem Header="Home" x:Name="HomeTab">
        <TabItem.Content>
            <Frame Source="HomePage.xaml" Margin="0,0,7,-697"/>
        </TabItem.Content>
    </TabItem>
</TabControl>


</controls:MetroWindow>

这是“HomePage.xaml”

<Page x:Class="Mplayer.HomePage"
  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" 
  mc:Ignorable="d" 
  Height="770" Width="1125"
Title="HomePage" Foreground="Black">

<Grid Background="#373737">
    <Grid Background="#585858" HorizontalAlignment="Left" Width="400"/>
</Grid>
</Page>

我希望你理解我的问题,并提前感谢:)

2 个答案:

答案 0 :(得分:1)

从页面定义中删除硬编码的高度和宽度以及 TabControl 定义:

Height="770" Width="1125"

答案 1 :(得分:0)

您可以显式设置TabControl和HomePage的高度和宽度。在Page和TabControl中删除这些值。

  <TabControl>
    <TabItem Header="Home" x:Name="HomeTab">
        <Frame Source="HomePage.xaml"/>            
    </TabItem>
  </TabControl>