使用C#和XAML在Metro App中自动滚动

时间:2012-06-29 15:29:15

标签: c# xaml windows-8 microsoft-metro

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

<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#0和col#2。

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

1 个答案:

答案 0 :(得分:1)

我认为您需要以编程方式捕获屏幕宽度。我是一个HTML / JS开发人员,所以我不知道XAML / C#中的属性是什么。然后,您可以设置相对于此的网格大小。然后,如果它改变,你的网格将更大。 滚动过程中,我认为你正在寻找类似于我在这里写的东西(http://www.codefoster.com/post/2012/06/24/How-to-Make-Your-Grid-Pan -Automatically.aspx),但你必须在JavaScript和C#之间进行转换,因为我在JS中编写了它。希望有所帮助。