Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过Windows Phone 8导航_C#_Windows Phone 8_Navigation_Toast - Fatal编程技术网

C# 通过Windows Phone 8导航

C# 通过Windows Phone 8导航,c#,windows-phone-8,navigation,toast,C#,Windows Phone 8,Navigation,Toast,toast可以正常启动,但点击时,它不会导航到导航属性中指定的BlankPage1.xaml。为什么? 我的应用程序基于此示例,因此是否有其他方法来实现此示例中的导航? (点击toast后,它应该导航到blankpage1)导航URI看起来很奇怪。为什么以“#”开头?这意味着在HTMLURI中,您将只在同一页面上使用锚。试试“BlankPage1.xaml?param1=12345”,看看会发生什么。如果需要,您可以添加斜杠。使用斜杠或不使用斜杠都不行,也不能不使用asterix?asteri

toast可以正常启动,但点击时,它不会导航到导航属性中指定的BlankPage1.xaml。为什么?

我的应用程序基于此示例,因此是否有其他方法来实现此示例中的导航?


(点击toast后,它应该导航到blankpage1)

导航URI看起来很奇怪。为什么以“#”开头?这意味着在HTMLURI中,您将只在同一页面上使用锚。试试“BlankPage1.xaml?param1=12345”,看看会发生什么。如果需要,您可以添加斜杠。使用斜杠或不使用斜杠都不行,也不能不使用asterix?asterix表示#,对吗?(我称之为散列)不(有没有#)。我检查了我在我的Phone 8项目中是如何做到这一点的。我有一个usercontrol,它是一个类似于toast通知弹出窗口的弹出窗口。它可以从顶部滑入,也可以在x秒后滑出。用户控件XAML有一个Tap事件的实现,该事件随后调用回调方法,该方法是我的方法“ShowToast”中的一个可选参数。回调可以做任何事情,也可以从rootFrame.Navigate(新Uri(“/BlankPage1.xaml?param1=12345”))进行常规导航。就我所记得的,这是当时实现我需要的功能(包括超时和导航)的唯一方法。
static ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText02; 
static XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate);


//Toast text
XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
toastTextElements[0].AppendChild(toastXml.CreateTextNode("Hello World!"));
//Toast image
XmlNodeList toastImageAttributes = toastXml.GetElementsByTagName("image");
((XmlElement)toastImageAttributes[0]).SetAttribute("src", "ms-appx:///assets/storelogo-sdk.png");

// toast navigation
var toastNavigationUriString = "#/BlankPage1.xaml?param1=12345";
var toastElement = ((XmlElement)toastXml.SelectSingleNode("/toast"));
toastElement.SetAttribute("launch", toastNavigationUriString);

//in another function
  var toast = new ToastNotification(toastXml);
  ToastNotificationManager.CreateToastNotifier().Show(toast);