我正在尝试使用 HyperlinkButton 从设置弹出窗口中显示隐私声明;但是,单击超链接后,我遇到了两个对话框的崩溃。楼上的说:
~~~~~~~~~~~~~~~~~~~~~~~~
Warning
A debugger is attached to <ProjectName> but not configured to debug this
unhandled exception. To debug this exception, detach the current debugger.
~~~~~~~~~~~~~~~~~~~~~~~~
...并在第二个对话框下方显示:
~~~~~~~~~~~~~~~~~~~~~~~~
Visual Studio Just-In-Time Debugger
An unhandled win32 exception occurred in <ProjectName> [10704].
Possible Debuggers:
New instance of Microsoft Visual Studio 2012
Yes No
~~~~~~~~~~~~~~~~~~~~~~~~
当我选择“否”来启动那个新实例时,我被从模拟器转移回我的调试会话——实际上,调试会话被终止了——就好像我有 Shift+F5'd。
我的 XAML 是:
<HyperlinkButton Grid.Row="4" Grid.ColumnSpan="2" Content="Duckbilled Platypi Privacy Statement" NavigateUri="http://montereyscenics.posterous.com"/>
更新
因此,由于链接在 AppSettings 示例中运行良好,我向超链接添加了一个 OnTapped 事件(诚然,这与那里显示的 OnClicked 不同),因此它现在看起来像这样:
<HyperlinkButton Grid.Row="4" Grid.ColumnSpan="2" Content="Time and Space Lines Privacy Statement" NavigateUri="http://montereyscenics.com/" Tapped="PrivacyHyperlink_OnTapped"/>
...和处理程序:
async void PrivacyHyperlink_OnTapped(object sender, TappedRoutedEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(new Uri(((HyperlinkButton)sender).Tag.ToString()));
}
它工作了一秒钟 - 它立即打开了页面。但是随后它在处理程序中的“等待”行(唯一的行)上崩溃了,并带有以下消息:
“*System.NullReferenceException 未被用户代码 HResult=-2147467261 处理,消息=对象引用未设置为对象的实例。来源=MetroSandboxPlaypen StackTrace:在 MetroSandboxPlaypen.TandSLsSettings.d__0.MoveNext() in...*”