Silverlight页面导航

时间:2012-02-21 13:57:33

标签: asp.net silverlight

我在aspx页面中使用silverlight内容。我创建的silverlight页面是在一个单独的silverlight项目中,我已将该项目添加到我的普通asp.net应用程序ClientBin.i需要重定向到我的aspx页面从一个银色页面按钮点击asp.net项目。我可以实现这个吗?

1 个答案:

答案 0 :(得分:1)

我认为你有两个选择之一。在该silverlight控件的视图模型中,在初始化期间,将超链接按钮的导航URI绑定到要导航到的所需URI。选项2(更顺畅):在click方法上,在托管silverlight对象的页面上调用javascript方法。然后,该方法可以进行某种平滑的jquery过渡,或者只是为您进行简单的导航 选项1:<HyperlinkButton NavigateUri="{Binding DesiredURL}" TargetName="_blank" />

对于选项2,请记住包括:

使用System.Windows.Browser;

选项2:

        public void OnFancyNavigate(string _destination)
    {
        //call the browser method/jquery method (I used constants to centralize the names of the respective browser methods
        try
        {
            HtmlWindow window = HtmlPage.Window;
            window.Invoke(Constants.TBrowserMethods.BM_FANCYNAVIGATE, new object[] { _destination});
        }
        catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); }
    }

最后,在承载xap内容的aspx / html / .js文件中定义javascript方法:

function fancyNavigate(_destination) {
//some fancy jquery or just the traditional document.location change here

}

C#将在您的代码中调用时找到javascript方法,您应该好好去