【问题标题】:WPF - XAML Page Center to WindowWPF - XAML 页面中心到窗口
【发布时间】:2016-11-22 01:57:27
【问题描述】:

我正在使用 .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%。我想将 MainFrame 的内容集中在 MainWindow 内。

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

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    由于您使用的是网格,因此您可以插入一个堆栈面板并将它们居中,如下所示:

    <Grid VerticalAlignment="Center">
        <StackPanel HorizontalAlignment="Center">
            <Frame Source="\Views\LoginView.xaml" NavigationUIVisibility="Hidden" Name="MainFrame"></Frame>
        </StackPanel>
    </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 2011-07-25
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多