【问题标题】:Designing a Facebook-like icon bar at the top of the page在页面顶部设计一个类似 Facebook 的图标栏
【发布时间】:2015-02-03 23:34:35
【问题描述】:

我试图想出一个想法,如何创建一个类似于 WP8.1 的 Facebook 应用程序中的应用程序栏。这是一个屏幕:

如您所见,带有一些按钮的白色条隐藏在屏幕顶部。这是我的想法:

• 使用网格或画布作为状态栏的主体

• 在其中添加所有按钮/东西并自行管理它们

• 为页面内的 ScrollViewer 的 ViewChanged 事件添加一个事件处理程序:如果用户向下平移,则为状态栏设置动画。如果用户已经平移,隐藏状态栏。

我遇到的问题是:我的第一个想法是在我的基础 Grid/Canvas 的 TranslateTransform 属性的 Y 属性上使用 DoubleAnimation。 问题是,如果我使用它,该元素将移动到屏幕上的任何其他内容之上。 例如,如果我的页面中有一个标题,那么这个状态栏和一个 ScrollViewer,如果我尝试向上翻译状态栏,它将覆盖我的标题。 另一个想法是使用ThicknessAnimation 为我的基础网格/画布的上边距设置动画,但在WinRT 上没有ThicknessAnimation。 除此之外,我知道 ThicknessAnimation 从来都不是一个好主意,因为它必须在每次迭代时更新整个可视化树。

有什么想法吗?我想知道他们是如何在他们的应用程序中做到这一点的:D

谢谢!

塞尔吉奥

【问题讨论】:

    标签: c# xaml visual-studio-2013 windows-runtime windows-phone-8.1


    【解决方案1】:

    您可以研究Canvas.ZIndex 以安排订单控制以使顶部栏位于第二个栏的顶部。你也可以试试Clip 属性。

    【讨论】:

    • 成功了:D 我创建了一个继承自 Canvas 的类,并添加了一些方法来处理动画并将对象绑定到 ScrollViewer。我将需要位于状态栏上方的 UIElement 的 Canvas.ZIndex 设置为 1,现在当我翻译画布时,它正确地隐藏在它下面,谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 2023-04-02
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多