【问题标题】:windows phone 8 Panorama flick directionwindows phone 8 全景轻弹方向
【发布时间】:2015-01-13 22:51:58
【问题描述】:

有没有一种方法可以通过覆盖其操作事件来捕捉 WP8 中全景的轻弹方向。

我需要根据滑动到的方向做出决定。

【问题讨论】:

    标签: c# xaml windows-phone-8


    【解决方案1】:

    我不知道如何捕捉轻弹,但我知道如何知道用户是向右滑动还是向左滑动。也许,这将满足您的需求。

    我们将使用事件SelectionChanged。 我们有一个这样的 PanoramaItem 列表:

    <phone:Panorama x:Name="SamplePanorama" SelectionChanged="SamplePanorama_SelectionChanged">
    
        <phone:PanoramaItem Header="Sample1" Tag="sample1" />
    
        <phone:PanoramaItem Header="Sample2" Tag="sample2" />
    
        <phone:PanoramaItem Header="Sample3" Tag="sample3" />
    
    </phone:Panorama>
    

    在你的 C# 中:

    private void Panorama_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
    {
        if (e.AddedItems.Count < 1) return;
        if (!(e.AddedItems[0] is PanoramaItem)) return;
    
        PanoramaItem selectedItem = e.AddedItems[0] as PanoramaItem;
        string tag = selectedItem.Tag.ToString();
    
        if (tag.Equals("sample2"))
            // user flick from right to left
        else if (tag.Equals("sample3"))
            // user flick from left to right
     }
    

    更多信息herehere

    【讨论】:

    • 你说的是对的。我的要求是禁用全景图的循环导航,我觉得可以通过在其操作中处理它来完成。假设我在第一个全景项目中并且我检测到左滑动,我只是说 e.complete 并且它不会导航到最后一个全景项目。如果您知道在全景图中禁用循环导航的任何方法,请帮帮我。
    • 这是另一个问题。我不认为这是一个好主意。您正在破坏用户界面。 Read this one.
    • 同意,不要尝试更改 PanoramaPivot 控件的预期行为
    猜你喜欢
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多