Windows phone 8 轴滑动动画后显示弹出窗口

Windows phone 8 轴滑动动画后显示弹出窗口,windows-phone-8,windows-phone-8.1,Windows Phone 8,Windows Phone 8.1,我试图在轴滑动动画完成后显示弹出窗口 现在,首先显示弹出警告,然后继续滑动动画 以下是我目前的代码: private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (MainPivot.SelectedIndex) { case 0: SelectHome(); break; case

我试图在轴滑动动画完成后显示弹出窗口

现在,首先显示弹出警告,然后继续滑动动画

以下是我目前的代码:

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    switch (MainPivot.SelectedIndex)
    {
        case 0:
            SelectHome();
            break;
        case 1:
            SelectTest(); 
            break;
        case 2:
            SelectStatus();
            Alert alert = new Alert();
            alert.Show();
            break;
        case 3:
            SelectAbout();
            break;
        default:
            break;
    }
}

我如何才能做到这一点?

在WP8.1运行时下,您可以这样做,例如:

创建Pivot控件的扩展,以公开其ScrollViewer:

一旦有了它,请在XAML中定义您的Pivot:

<local:PivotEx x:Name="myPivot" xmlns:local="using:YOurNamespace">
// rest of code

我不知道这是否是一种有效的方法,但我使用了一个计时器在pivot的滚动动画之后启动弹出窗口

async Task showAlertWithDelay()
{
    await Task.Delay(1000);
    AlertMessage alert = new AlertMessage();
    alert.show();
}

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    switch (MainPivot.SelectedIndex)
    {
        case 0:
            SelectHome();
            break;
        case 1:
            SelectTest(); 
            break;
        case 2:
            SelectStatus();
            showAlertWithDelay();
            break;
        case 3:
            SelectAbout();
            break;
        default:
            break;
    }
}

这是WP8还是WP8.1?Silverlight还是WinRT?这几乎不是WP8和WinRT。WP8的解决方案是什么?thnaks我会尝试一下……我用定时器启动弹出窗口。
public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        this.Loaded += (sender, e) => myPivot.exposedSV.ViewChanged += pivotsScroll_ViewChanged;
    }

    private async void pivotsScroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
    {
        if (!e.IsIntermediate) await new MessageDialog("After scroll changed!").ShowAsync();
    }
async Task showAlertWithDelay()
{
    await Task.Delay(1000);
    AlertMessage alert = new AlertMessage();
    alert.show();
}

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    switch (MainPivot.SelectedIndex)
    {
        case 0:
            SelectHome();
            break;
        case 1:
            SelectTest(); 
            break;
        case 2:
            SelectStatus();
            showAlertWithDelay();
            break;
        case 3:
            SelectAbout();
            break;
        default:
            break;
    }
}