UWP Live Tile未更新

时间:2017-09-11 12:36:47

标签: c# uwp live-tile

当我尝试更新我的UWP主要和/或辅助磁贴时,不会发生任何事情。

如果我从Visual Studio 2017启动我的UWP应用程序,则更新功能正常工作并更新切片。 但是,如果我从VS 2017制作Windows应用商店应用,则更新功能将不再起作用。

这是我目前的更新功能:

<Style.Triggers>
    <DataTrigger Binding="{Binding ControlType}" Value="CheckBox">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <CheckBox Content="{Binding}" IsChecked="{Binding ParameterValue, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </DataTrigger>
    <DataTrigger Binding="{Binding ControlType}" Value="ComboBox">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <ComboBox ItemsSource="{Binding ComboBoxControlItemSource}" 
                                                                      SelectedIndex="{Binding ParameterValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </DataTrigger>
    <DataTrigger Binding="{Binding ControlType}" Value="TextBlock">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <TextBlock Text="{Binding ParameterValue}"/>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </DataTrigger>
    <DataTrigger Binding="{Binding ControlType}" Value="TextBox">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <TextBox Text="{Binding ParameterValue, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </DataTrigger>
</Style.Triggers>

这就是我实际为tile创建XML的方式:

using System;
using System.Diagnostics;
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
using Windows.UI.Xaml.Controls;

namespace UpdateTile
{
    public sealed class TileUpdate
    {
        // Function which is call by every background task to update the app tile
        // and each app secondary tile
        // The tile ID could be empty for update the primary tile
        public static void ScheduleUpdate(String data, String tileID)
        {
            #region variables
            TileUpdater tileUpdater = null;
            #endregion

            // Check the tile ID
            if (tileID == "")
            {
                // If tile ID is empty then create a tile updater for the app tile
                tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
            }
            else
            {
                tileUpdater = TileUpdateManager.CreateTileUpdaterForSecondaryTile(tileID);
            }

            tileUpdater.EnableNotificationQueue(true);

            tileUpdater.Clear();

            tileUpdater.Update(new TileNotification(new TileXML().WriteXml(data)));
            }
        }
    }
}

我还尝试使用RAW XML来更新磁贴,但没有任何方法可行。有没有人知道为什么tile更新适用于VS 2017,但不能作为Windows应用商店应用?

Publisher-Certificate已作为根证书导入。

有关我系统的信息: 操作系统:Windows 10 v1703 - &gt;版本:10.0.15063.540

1 个答案:

答案 0 :(得分:0)

问题已由我自己解决。

当我为实时图块创建XML时,我设置了一个背景图像:

BackgroundImage = new TileBackgroundImage()
{
    Source = "Assets/Backgroung.png",
    HintOverlay = 60
},

当我对此进行评论并制作新的Windows应用商店应用时,实时更新将再次有效。

可能图片的尺寸不正确