WinPhone 7模拟器中的超链接按钮单击出现错误 - "Can't Send, Make sure you have setup an account"



我有一个Windows Phone 7的c#项目,我用Expression Blend和Visual Studio 2012创建的。我有一个关于页面,带有一个超链接按钮,将用户带到应用程序的支持网页。当我单击该按钮时,我在模拟器中得到一个屏幕,上面写着:

"不能发送。确保你已经建立了一个账户。"

这最终在VS2012调试器中的System.Windows.ni.dll中触发NULL参数异常。不可见"查看异常详细信息"选项。我已经三次检查了NavigateUri值,我知道这是一个有效的网页。我尝试了"http://google.com/"只是为了确定,我仍然得到错误,所以这是一个比URL更基本的问题。为什么我得到这个错误,我怎么能解决它?

UPDATE:我正在显示按钮的XAML以响应Den的回复。我没有手动输入XAML,而是使用了属性编辑器窗口。我认为问题是它被当作一个电子邮件命令,而我还没有设置一个电子邮件服务。

下面是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/"/>
然而,在删除命令绑定之后,现在从底层的导航调用超链接按钮触发器得到一个异常。我得到一个参数异常,有以下错误消息:

系统。ArgumentException:导航只支持相对uri,这些相对uri是片段,或者以'/'开头,或者包含';component/'。参数名称:uri在System.Windows.Navigation.NavigationService。导航(Uri)}系统。异常{系统。ArgumentException}

似乎超链接按钮不意味着外部uri ?

似乎你在声明HyperlinkButton时做错了什么。它应该是这样的:

<HyperlinkButton TargetName="_blank" NavigateUri="http://www.microsoft.com" Content="Microsoft"/>

或者为什么不尝试将urikind属性设置为absolute呢?

相关内容

最新更新