2012-06-29 135 views
3

我正在制作具有3列的父网格的Metro应用程序。在第1栏中,我有这个登录表单。当这个应用加载时,我希望它在中心位置。分别使用col#0和col#2中的注册和恢复密码。所以我把网格放在滚动查看器中:`使用C#和XAML在Metro应用程序中自动滚动

<ScrollViewer HorizontalScrollBarVisibility="Auto" 
       VerticalScrollBarVisibility="Disabled"> 

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="3*" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> <!--For Sign Up--> 
     <ColumnDefinition Width="*" /> <!--For Sign In--> 
     <ColumnDefinition Width="*" /> <!--To Recover Password--> 
    </Grid.ColumnDefinitions>` 

我不想明确设置网格的宽度。因为那样我就不得不为非常大的分辨率或非常小的尺寸进行优化。我想要的是col#1,col#1和Col#2的边上有一些col#0和col#2。

不管分辨率如何,我应该如何设置网格的宽度以使其看起来一致?我如何自动滚动并将col#1放在中间?

+0

可以详细说明您的要求。只有解决方案独立性是明确其他没有那么多 – Tilak

+0

我无法想象你要做什么。我确实想补充说,你不应该在主Metro画布上进行登录。您应该在设置弹出窗口中进行登录,以便在Metro环境中保持一致。您可以通过编程方式触发弹出设置以显示。 –

回答

1

我认为你需要以编程方式捕捉屏幕宽度。我是HTML/JS开发人员,所以我不知道XAML/C#中的属性是什么。然后你可以设置你的网格大小。如果它发生变化,你的网格会变大。 就滚动而言,我认为你正在寻找像我在这里写的东西(http://www.codefoster.com/post/2012/06/24/How-to-Make-Your-Grid- Pan-Automatically.aspx),但是你必须在JavaScript和C#之间进行翻译,因为我用JS编写了它。希望有所帮助。

相关问题