c# - 使用 C# 和 XAML 在 Metro 应用程序中自动滚动

标签 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 放在中间?

最佳答案

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

关于c# - 使用 C# 和 XAML 在 Metro 应用程序中自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264636/

相关文章:

wpf - 文本框绑定(bind)到 LostFocus 和属性更新

windows-8 - Windows 8 的 Grid.IsSharedSizeScope 等效项

c# - 在 Windows 8/WinRT/XAML 应用程序中列出时区?

c# - 对十六进制字符串进行 XOR

c# - 文本框中显示意外字符

c# - 如何使用超过 8 个值的 System.HashCode.Combine?

c# - 为什么当我切换语义缩放时,它没有导航到该部分?

c# - 当我构建 Silverlight 项目时,XAML 文件会发生什么情况?

css - 如何正确应用 WinJS.Binding.Template ListView GridLayout CSS?

c# - 包装函数的返回值是个好主意吗?