我使用的是 这种方法 为多实例编辑程序添加任务栏徽章,以通知用户未保存的更改。问题是这只对第一个实例有效。有什么办法可以让我的所有实例都有通知徽章(所有实例都有不同的任务栏徽章图标)?
(编辑)
编辑器应用是一个带有标签的多实例应用。我希望每个实例都能通过其任务栏图标徽章数量来反映未保存的文件标签数量。
对于您的需求,您可以使用 LocalSettings
以记录未保存的保存次数,并且这些数据可以与不同的应用程序实例共享。
private static void UpdateSharedInstanceNumber()
{
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
object data = localSettings.Values["UnSave"];
if (data == null)
{
localSettings.Values["UnSave"] = 0;
}
if (AppInstance.GetInstances().Count == 0)
{
// Write data to settings, using this app instance's ID.
// If there are no other instances, we reset the InstanceCount.
localSettings.Values["UnSave"] = 1;
UnSaveNumber = 1;
}
else
{
// Read the settings data, and increment it.
UnSaveNumber = (int)localSettings.Values["UnSave"] + 1;
localSettings.Values["UnSave"] = UnSaveNumber;
}
}
更新
目前恐怕无法实现,所有的实例都会共用一个徽章,所以建议大家把所有未保存的次数记录下来,全部显示出来。