我有一个使用 Expression Blend 和 Visual Studio 2012 创建的 Windows Phone 7 的 C# 项目。我有一个带有超链接按钮的关于页面,可将用户带到应用程序的支持网页。当我单击按钮时,我会在模拟器中看到一个屏幕,上面写着:
“无法发送。请确保您已设置帐户。”
这最终会在 VS2012 调试器的 System.Windows.ni.dll 中触发 NULL 参数异常。没有可见的查看异常详细信息选项。我已经三重检查了NavigateUri值,我知道它是一个有效的网页。我尝试“ http://google.com/ ”只是为了确定,但我仍然收到错误,所以这是一个比 URL 更根本的问题。为什么我会收到此错误,我该如何解决?
更新:我正在显示按钮的 XAML 以响应 Den 的回复。我没有手动输入 XAML,我使用了 Property Editor 窗口。我认为问题在于它被视为电子邮件命令,而我尚未设置电子邮件服务。
这是 HyperLink 按钮的 XAML:
<HyperlinkButton
Grid.Row="3"
Content="Technical Support/Feedback Email"
Margin="0,0,0,23"
HorizontalAlignment="Left"
Foreground="{StaticResource PhoneAccentBrush}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Command="{Binding SendAnEmailCommand}" Width="446" NavigateUri="http://google.com/"/>
但是,在删除命令绑定后,我现在从底层导航调用超链接按钮触发器中得到一个异常。我收到带有以下错误消息的参数异常:
System.ArgumentException:仅支持作为片段、以“/”开头或包含“;component/”的相对 URI 导航。参数名称: uri at System.Windows.Navigation.NavigationService.Navigate(Uri source)} System.Exception {System.ArgumentException}
似乎超链接按钮不适用于外部 URI?这对我来说真的很奇怪。