2014-05-27 3 views
1

Я пытаюсь создать и обновить плитку для приложения для Windows-телефона. Но когда я пытаюсь реализовать код ниже (что хорошо работает для образца msdn), он выбрасывает «Исключение типа« System.ArgumentException »произошло в Microsoft.Phone.ni.dll, но не обрабатывалось в коде пользователяТип шаблона несоответствие при обновлении данных плитки

Дополнительная информация: несоответствие типа шаблона. Вы можете обновлять плиту только с использованием того же шаблона, который был создан с помощью. "

int newCount = 0; 

     // Application Tile is always the first Tile, even if it is not pinned to Start. 
     ShellTile TileToFind = ShellTile.ActiveTiles.First(); 

     // Application should always be found 
     if (TileToFind != null) 
     { 
      // if Count was not entered, then assume a value of 0 
      if (textBoxCount.Text == "") 
      { 
       // A value of '0' means do not display the Count. 
       newCount = 0; 
      } 
      // otherwise get the numerical value for Count 
      else 
      { 
       newCount = int.Parse(textBoxCount.Text); 
      } 

      // set the properties to update for the Application Tile 
      // Empty strings for the text values and URIs will result in the property being cleared. 
      StandardTileData NewTileData = new StandardTileData 
      { 
       Title = textBoxTitle.Text, 
       BackgroundImage = new Uri(textBoxBackgroundImage.Text, UriKind.Relative), 
       Count = newCount, 
       BackTitle = textBoxBackTitle.Text, 
       BackBackgroundImage = new Uri(textBoxBackBackgroundImage.Text, UriKind.Relative), 
       BackContent = textBoxBackContent.Text 
      }; 

      // Update the Application Tile 
      TileToFind.Update(NewTileData); 
     } 

Исключение выбрасывается "TileToFind.Update (NewTileData);" линия. Я жду ваших предложений. Спасибо.

+0

Является ли ваше приложение целевым WP8.1, WP8 или Wp7? –

+0

app target - WP8.1 – T3sTR

+0

Как я знаю, Windows Phone 8.1 не может использовать ShellTile в пространстве имен Microsoft.Phone.Shell. Если ваше приложение является целевым WP8, вы должны создать и обновить плитки тем же способом. Например, если вы создаете фрагмент с FlipTileData, вам следует обновить его с помощью FlipTileData. –

ответ

1

В Windows Phone 8 вы можете посмотреть WMAppManifest.xml в своем проекте. Шаблон плитки может быть TemplateFlip, TemplateCycle или TemplateIconic. Их плитка Данные:

FlipTileData (TemplateFlip) CycleTileData (TemplateCycle) и IconicTileData (TemplateIconic). Выберите правильный TileData по типу шаблона Tile в вашем WMAppManifest.xml.

+0

Я попробую, спасибо. Я буду отмечать как ответ, когда все в порядке. – T3sTR

+0

Моя ошибка! Я изменил его на TemplateIconic, но когда он исключил исключение, я подумал, что это о ShellTile и FlipTileData, но это не так. Еще раз спасибо. И я могу задать вопрос? Как я могу изменить свой проект на WP8.1, что мне нужно сделать? Еще раз спасибо. – T3sTR

+0

Добро пожаловать. Если вы хотите настроить таргетинг на WP8.1, просто щелкните правой кнопкой мыши по проекту, и вы его найдете. –

 Смежные вопросы

  • Нет связанных вопросов^_^