如何从我的应用程序中直接进入Windows Phone开始屏幕

本文关键字:Windows Phone 屏幕 开始 我的 应用程序 | 更新日期: 2023-09-27 18:02:45

我的应用程序有创建许多次要磁贴的选项。当用户试图固定现有的磁贴时,应用程序会要求用户先进入开始屏幕删除磁贴。

是否有一种方式以编程方式导航到WP开始屏幕从我的应用程序?

我知道用户可以点击开始按钮或后退按钮。但我想检测那个导航是否设置了某些标志。如果应用程序能帮助用户自动导航,那对用户来说就方便多了。

如何从我的应用程序中直接进入Windows Phone开始屏幕

正如你所说的"当用户尝试pin现有的tile"意味着你想要更新现有的tile。使用代码来更新现有的tile。

 public static void UpdateAppTile(string navigationUri)
 {
   var tile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(navigationUri));
   if (tile != null)
   {
           var tileData = new FlipTileData
            {
                SmallBackgroundImage = new Uri("/Assets/Tiles/small.png", UriKind.Relative),
                BackgroundImage = new Uri("/Assets/Tiles/medium.png", UriKind.Relative),
                WideBackgroundImage = new Uri("/Assets/Tiles/wide.png", UriKind.Relative),
                // other properties
            };
            tile.Update(tileData);
    }
 }

和用于删除平铺

 public static void DeleteAppTile(string navigationUri)
 {
   var tile =  ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(navigationUri));
   if (tile != null)
   {
     tileToFind.Delete();
   }
 }

从用户体验的角度来看,您应该已经通过禁用(或添加'unpin From start'选项)相应的磁贴来避免这种情况,如果它已经固定为开始。

  public static bool CheckIfTileExists(string tileUri)
            {
                ShellTile shellTile = ShellTile.ActiveTiles.FirstOrDefault(
                    tile => tile.NavigationUri.ToString().Contains(tileUri));
                if (shellTile == null)
                    return false;
                return true;
            }