当使用C#通过代码固定应用程序时,在应用程序列表页面上取消激活'pin to start'?

时间:2013-11-03 18:13:17

标签: c# windows-phone-7 windows-phone-8

我正在创建一个Windows手机应用程序,我在其中放置一个按钮来固定应用程序以启动屏幕,但是当按住应用程序列表屏幕上的应用程序图标时,我发现可以使用引脚启动选项

ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("MainPage.xaml"));

        // Create the Tile if we didn't find that it already exists.
        if (TileToFind == null)
        {
            // Create the Tile object and set some initial properties for the Tile.
            // The Count value of 12 shows the number 12 on the front of the Tile. Valid values are 1-99.
            // A Count value of 0 indicates that the Count should not be displayed.
            StandardTileData NewTileData = new StandardTileData
            {
                BackgroundImage = new Uri("300.png", UriKind.Relative),
                Title = "apptitle",

                BackTitle = "title",
                BackContent = "testing ",
                BackBackgroundImage = null
            };

            // Create the Tile and pin it to Start. This will cause a navigation to Start and a deactivation of our app.
            ShellTile.Create(new Uri("/MainPage.xaml", UriKind.Relative), NewTileData);
        }
        else {
            MessageBox.Show("Already Pinned");
        }

如何禁止用户再次从应用程序列表屏幕固定应用程序

1 个答案:

答案 0 :(得分:2)

您应该了解主要和辅助磁贴之间的区别。您从代码创建的是辅助磁贴,上下文菜单中的用户引脚是主磁贴。

主要图块始终是第一个:

var primaryTile = ShellTile.ActiveTiles.First();

请记住,主要图块始终存在,即使它没有固定。没有用于检查主要图块固定状态的API。因此,我建议您从应用中删除此功能。

还可以找到一些细节here