0

セカンダリ タイルからアプリに移動するときに問題が発生します。タイルが作成され、ナビゲーション 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 つのページが存在する例はありますか? 問題が発生する可能性がある他の提案はありますか?

ありがとうございました

4

1 に答える 1