WPF - XAML页面中心到窗口

时间:2016-11-22 01:57:28

标签: c# wpf xaml

我正在使用.NET 4.0和MVVM Light构建一个WPF应用程序。

我已使用单个窗口在应用程序中实现导航,其中框架正在根据我当前视图进行更改。

这是我在MainWindow.xaml中的代码:

<Controls:MetroWindow x:Class="App.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"
        xmlns:resx="clr-namespace:App.Resources"
        xmlns:utils="clr-namespace:App.Utils"
        Title="{Binding Path=Content.Title, ElementName=MainFrame}"
        Height="{Binding Source={x:Static SystemParameters.PrimaryScreenHeight}, Converter={utils:RatioConverter}, ConverterParameter='0.9' }" 
        Width="{Binding Source={x:Static SystemParameters.PrimaryScreenWidth}, Converter={utils:RatioConverter}, ConverterParameter='0.9' }"
        xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
        WindowStartupLocation="CenterScreen">

    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>

    <Grid>
        <Frame Source="\Views\LoginView.xaml" NavigationUIVisibility="Hidden" Name="MainFrame"></Frame>
    </Grid>
</Controls:MetroWindow>

默认情况下,MainWindow占据屏幕的90%。我想将MainFind内的MainFrame内容居中。

它可以吗?我该怎么做?我想这是一项简单的任务,但我一直在寻找1小时,但我找不到具体的东西。

1 个答案:

答案 0 :(得分:2)

由于您使用的是网格,因此您可以插入一个堆叠面板并将其展开,如下所示:

sh autogen.sh
make
make install