The problem is simple but annoying. I have a button and the click event just opens a link
HtmlPage.Window.Navigate(uri, "_blank");
But it continues to be blocked by the browser. I searched a lot. Everyone seems to be using this method, but no one has mentioned that the new tab / window is locked. So what should I do?
UPDATE
The problem is resolved. It seems like you should use HyperlinkButton to go to external web pages. This is not blocked by the browser.
"To enable user navigation on other web pages, you can use the HyperlinkButton control and set the NavigateUri property to an external resource and set the TargetName property to a new browser window." --- MSDN, Silverlight - External Navigation
<HyperlinkButton NavigateUri="http://www.microsoft.com" Content="Go to Microsoft" TargetName="_blank" />
PS. HtmlPage.PopupWindow is also blocked by the browser. It seems to me that HtmlPage.Window.Navigate and HtmlPage.PopupWindow are useless without having the user manually disable the block.
h - n source share