如何让我的控件在设计器中捕捉到网格?

时间:2017-11-03 19:40:39

标签: uwp uwp-xaml

我想知道,当我第一次创建我的应用程序时,我能够"坚持"我对网格列和窗格边框的视图带有红色指示符。

Red snapping indicator

但现在它完全消失了,试图使用How do I truly reset every setting in Visual Studio 2012?完全重置视觉工作室。

但是没有任何东西可以恢复到这个伟大的工具,现在我被卡住了,如果没有这个,就无法做出任何响应......

我尝试在我的解决方案中创建一个新的空白页= 不工作
我尝试创建另一个完整的空白解决方案,并且捕捉红色网格似乎可以正常工作

无法捕捉的代码:

<Page x:Name="StartPAge" NavigationCacheMode="Enabled"
    x:Class="WPStats.Start"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:WPStats"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Page.Transitions>
        <TransitionCollection>
            <EdgeUIThemeTransition Edge="Left" />
        </TransitionCollection>
    </Page.Transitions>
    <StackPanel HorizontalAlignment="Left" Height="977" VerticalAlignment="Top" Width="1513" Background="#FFCECECE" Margin="0,0,-13,0">
        <Button Click="ButtonNext_Click" Content="Homepage" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        <Rectangle Height="100" Margin="575,0,-0.36,0"/>
        <Button Click="Check_if_dataentered" Content="check data" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        <StackPanel>
            <TextBlock Text="What's your name?"/>
            <StackPanel Orientation="Horizontal" Margin="0,20,0,20">

                <TextBox x:Name="nameInput"
                     Header="Enter your website domain :" PlaceholderText="https://yourdomain.com"
                     Width="300" HorizontalAlignment="Left"/>

                <Button Content="Connect" Click="SendInputButton"/>
            </StackPanel>
            <TextBlock x:Name="greetingOutput"/>
            <Button x:Name="RESET" Content="RESET" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Click="RESET_Click"/>
        </StackPanel>

    </StackPanel>
</Page>

2 个答案:

答案 0 :(得分:0)

如果您查看不想与网格对齐的代码,答案非常简单:您不再使用Grid,而是使用StackPanelStackPanel堆栈中的所有控件都在彼此之上(如果更改方向,则为水平)。

将外部StackPanel更改为Grid,您会看到可以再次按下主页按钮。内部StackPanel中的控件也是如此:如果你想控制每个控件,你将能够捕捉完整的StackPanel:删除内部StackPanel

奖金:我个人在XAML中编写所有内容并查看设计人员是否正确放置,这将导致XAML比拖动设计图面上的项目更清晰。在拖动设计图面时,您可能还会失去UWP的部分响应特性,因为设置了一些Margin。这是你可能并不总是想要的东西。然后,您可以正确使用StackPanel进行布局或使用Grid行和列,甚至可以使其responsive

Bonus 2 :如果您想要真正响应的用户界面,请查看RelativePanel控件。

答案 1 :(得分:0)

好的,终于有了答案

我按照此处的建议将目标版本降级为15063,现在snapline正常工作

https://developercommunity.visualstudio.com/content/problem/132205/snaplines-not-showing.html

我希望它会有所帮助!