1

我有一个使用 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?这对我来说真的很奇怪。

4

2 回答 2

2

好像你在声明HyperlinkButton. 它应该是这样的:

<HyperlinkButton TargetName="_blank" NavigateUri="http://www.microsoft.com" Content="Microsoft"/>
于 2013-04-13T23:09:25.187 回答
0

或者,为什么不尝试将 urikind 属性设置为绝对值?用这个测试并告诉我。

于 2013-04-14T14:55:43.937 回答