XAML UI 布局问题

XAML UI Layout Issues

我最近刚获得 Windows 10 和 Visual Studio 2015,并决定尝试学习如何构建通用应用程序。我已经阅读了 windows 10 和 windows 8 通用应用程序的 Microsoft 指南,但他们似乎没有提及任何内容。

我在测试 HelloWorld 应用程序时注意到的第一个问题是,如果我调整 StackPanel 的大小,使它更小并且更围绕它包含的项目,到某个点它会在运行时覆盖项目,尽管事实上,StackPanel 边框不会跨越任何东西。

另一个问题(与 StackPanel 问题半相关)必须处理项目放置。在我完成的所有 GUI 工作中,项目放置似乎从来都不是问题。如果我需要在 UI 的右侧工作或将某些东西放在小 window 的中心,我可以这样做。一般来说,项目在 .xaml 设计 windows 中的放置并不能反映它在运行时的样子。如果我尝试将 HelloWorld StackPanel 内容居中(无论是否调整 StackPanel 的大小),如果我最大化 window(如果不是 50 像素),它只会在运行时看起来像它。那么这是否意味着所有通用应用 UI 都需要从左上角开始构建?

编辑: 这里有一些图片链接,显示了我所描述的内容。 这是我移动堆栈面板时发生的情况:

https://goo.gl/photos/D47PHtkd1nTGJTyo8 -> 在 vs

https://goo.gl/photos/wVH1uPdB43a9oSdf7->运行

我会 post 链接到我拥有的其他图片,但我还没有代表。

编辑: xaml代码:

    <StackPanel  Margin="120,30,0,0">
        <TextBlock HorizontalAlignment="Left" Text="Hello World" FontSize="36"/>
        <TextBlock Text="What's your name?"/>
        <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
            <TextBox x:Name="nameInput" Width="300" HorizontalAlignment="Left"/>
            <Button Content="Say &quot;Hello&quot;"/>
        </StackPanel>
        <TextBlock x:Name="greetingOutput"/>
    </StackPanel>

我只是将其粘贴到代码块中,这完全来自 windows 10 个通用应用程序教程的 hello world。我从未对代码本身进行任何更改,我只是使用 UI 设计器进行了更改。

理想情况下,您应该 post 您的 XAML,但从屏幕截图中我可以看到您依赖于设置 Margin - 我假设您拖放了控制在设计器上,并使用 UI 进行布局。更好的方法是使用 HorizontalAlignmentVerticalAlignment 属性以您想要的方式布局 UI,并依赖 Margin 实际 "margins"(额外控件周围的空白)。