手机上的通用应用程序 - 如何隐藏DisplayName?

时间:2015-03-13 13:14:22

标签: c# windows-phone-8 win-universal-app

当我在Windows 8.1手机上运行Windows通用应用程序时,LiveTile上有其他文本(我的应用程序的名称),我试图隐藏它。该文本似乎来自Package.appxmanifest

<m3:VisualElements DisplayName="This Text Appears" ...

我发现了一个类似的问题(Is it possible to create a Windows Phone live tile where no title is displayed?),建议将值留空。当我这样做时,Visual Studio抱怨它无效,我无法编译。完全删除DisplayName也会导致错误。

我可以看到其他没有显示任何文字的应用程序,所以看起来似乎有可能。

有人能告诉我如何从LiveTile中隐藏DisplayText,但仍然可以在手机上安装的应用列表中正确显示我的应用名称吗?

我用于实时图块的模板(TileWide310x150Image)。

2 个答案:

答案 0 :(得分:1)

Package.appxmanifest 文件中的DisplayName属性是必需的,不能留空。它也是将在Phone的已安装应用程序列表中显示的名称。您希望它是您应用的正确名称。

应用程序的名称将显示在LiveTile上,在该上下文中,它称为“品牌”。

https://msdn.microsoft.com/en-us/library/windows/apps/br212854.aspx

 <binding template       = tileTemplateNameV2
          fallback?      = tileTemplateNameV1
          lang?          = string
          baseUri?       = anyURI
          branding?      = "none" | "logo" | "name"
          addImageQuery? = boolean
          contentId?     = string >

似乎默认为“名称”,但通过将其设置为“无”,文本将不再显示在实时图块上。

答案 1 :(得分:0)

我能够使用以下代码删除Windows Phone 8.1 Runtime C#应用程序中的Wide Tile显示名称:

        XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150PeekImage04);
        XmlNodeList brandAttribute = squareTileXml.GetElementsByTagName("binding");
        ((XmlElement)brandAttribute[0]).SetAttribute("branding", "none");

squareTileXml 是配置到Live Tile的XML的名称,而 TileWide310x150PeekImage04 是所选模板。

基本上我指定了一个切片模板(documentation),我根据这个documentation更改了属性标记,它位于XML树中的绑定内部,没有,删除了显示名称。

我不确定这是否是正确的配置方式,但至少它是否有效。