我有一个特定的UI元素,点击时应该导航到另一个URL。 我试着处理鼠标按下事件并执行如下操作: System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(“http://google.com”),“_blank”);Browser.HtmlPage.Window.Navigate被阻止,但HyperlinkButton不是 - 为什么?
但是,这会被浏览器阻止(我试过Chrome和Firefox),除非我禁用弹出窗口阻止程序。 我做了一些研究,似乎浏览器阻止导航不会作为用户交互的结果发生,并且就浏览器而言,此导航由插件(Silverlight)启动,而不是用户启动。
好的,有道理。但后来我尝试使用HyperlinkButton,而不是被阻止。
我不知道为什么这两种方法从浏览器得到不同的待遇。任何想法?
我居然通过包装导航触发UI与HyperLinkButton解决问题的工作,但我还是很好奇......
在IE9中,HyperlinkButton本身有一些问题:http://stackoverflow.com/questions/14678235/silverlight-hyperlinkbutton-not-working-at-all 您需要可以添加'或使用“<!DOCTYPE HTML PUBLIC” - // W3C // DTD HTML 4.0 Transitional // EN“>' – 2013-02-28 06:39:54