如何让Windows Universal App的用户从一个页面滑动到另一个页面? (我觉得这很容易找到,但搜索还没有找到答案。)
如果这可以在一页内完成 - 那也很好。 (要滑出一个网格,另一个网格。)
答案 0 :(得分:4)
枢轴控制的行为就像你描述的那样。
请参阅guidelines for tabs and pivots。
示例:
<Page x:Class="App1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Pivot>
<PivotItem Header="Item 1" Background="Black" />
<PivotItem Header="Item 2" Background="Red" />
<PivotItem Header="Item 3" Background="Blue" />
</Pivot>
</Grid>
答案 1 :(得分:2)
您可以使用GestureRecognizer并操纵您想要做的事情。为FX创建动画。
答案 2 :(得分:1)
我想说使用git checkout my_branch
git reset --soft HEAD~4
git commit
git push --force origin my_branch
控件,但如果您的观点太复杂,那可能会很危险。 FlipView
会保持您的网页呈现并随时可以翻转。我认为你可以尝试实现自己的东西来保持低内存使用率。也许使用GestureRecognizer,这样您就可以控制用户可以滑动的位置,只能渲染您需要的内容并丢弃任何过时的内容或屏幕外的内容。
FlipView
也会产生这种效果,但区别在于它必须将一个元素从屏幕上完全滑出,然后将下一个元素滑入。它不会同时呈现两个或三个视图,这是对记忆有好处。但是,您将无法同时看到两个页面滑入/滑出。
尝试两者,看看哪种方式最适合你。
答案 3 :(得分:0)
我有点类似于您的要求:
如何从一页“刷”到另一页:
在第1页上(您将从中滑动FROM的页面) 制作一个网格,并将这些值放在:
XAML:
<Grid Padding="15,15,15,15"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
ManipulationMode="TranslateX,TranslateInertia,System"
ManipulationDelta="SwipeablePage_ManipulationDelta"
ManipulationCompleted="SwipeablePage_ManipulationCompleted">
后面的代码:
private bool _isSwiped;
private void SwipeablePage_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
if (e.IsInertial && !_isSwiped)
{
var swipedDistance = e.Cumulative.Translation.X;
if (Math.Abs(swipedDistance) <= 2) return;
if (swipedDistance > 0)
{
// go to next page
this.Frame.Navigate(typeof(Page2));
}
else
{
// do nothing
}
_isSwiped = true;
}
}