セカンダリ タイルからアプリに移動するときに問題が発生します。タイルが作成され、ナビゲーション uri があります。今私は問題があります:
「navigateTo」で、特定の文字列のナビゲーション コンテキストをテストします。文字列に番号がある場合、この番号を呼び出します。私が抱えている最初の問題は、アプリ内の他のページに移動して (セカンダリ タイルを最初にクリックした後)、メインページに戻るときに、番号をクリックしようとすることです。二次タイル。セカンダリ タイルを最初にクリックした後にナビゲーション コンテキストをクリアすると、ナビゲーションが機能します。しかし、アプリを一時停止してセカンダリ タイルをもう一度クリックすると、ナビゲーション コンテキストが空になり、番号が呼び出されません。
タイルの作成
IconicTileData tileData = new IconicTileData
{
Title = App.MainViewModel.SelectedPOI.Name,
SmallIconImage = new Uri("/Assets/Images/feature.phone.png", UriKind.Relative),
WideContent1 = App.MainViewModel.SelectedPOI.Name,
WideContent2 = App.MainViewModel.SelectedPOI.Telefonnumber,
WideContent3 = App.MainViewModel.SelectedPOI.Street
};
if (App.MainViewModel.SelectedPOI.Id == -1)
tileData.BackgroundColor = Helper.GetColorFromHexString("#E46D1D");
else
tileData.BackgroundColor = Helper.GetColorFromHexString("#4FAE32");
string SecondaryTileUriSource = String.Format("Source={0}&ID={1}", TILESTATUS, App.MainViewModel.SelectedPOI.Id);
//check if tile exist
ShellTile tile = Helper.FindTile(SecondaryTileUriSource);
if (tile == null)
{
// having a unique NavigationUri is necessary for distinguishing this tile
string tileUri = string.Concat("/MainPage.xaml?", SecondaryTileUriSource);
ShellTile.Create(new Uri(tileUri, UriKind.Relative), tileData, true);
}
OnNavigateTo - メインページ
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
string status = String.Empty;
if (NavigationContext.QueryString.TryGetValue("Source", out status))
{
MainPivot.SelectedItem = AlarmPivotItem;
//App.MainViewModel.StartAlarm();
//or
//get the number from source/status...
App.MainViewModel.CallNumber(12345);
//NavigationContext.QueryString.Clear();
}
}
たとえば Number がセカンダリ タイルから呼び出され、アプリ内に少なくとも 2 つのページが存在する例はありますか? 問題が発生する可能性がある他の提案はありますか?
ありがとうございました