0

HtmlPage.Window.Navigate(Uri, "_blank");行によって参照されるページに固有のカスタム編集用のコンテキスト メニューを使用して、グリッド行からウィンドウを起動しています。シルバーライトでテレリックグリッドを使用しています。ユーザーがそのウィンドウを閉じたときにグリッドを更新したい。これどうやってするの?

これは可能ですか?または、これに取り組むためにどこを探すべきですか?

更新: Silver-light MVVMモデルを使用しています。Silver-light から開いている子ウィンドウは Web ブラウザーです。実際には、Web ブラウザーを閉じたときに Silver Light アプリケーションでグリッドを更新できるようにするテクニックが必要です。さらに、RIA サービスを使用して Web ブラウザーのメソッドを公開しています。

4

1 に答える 1

2

Javascript からアクセスできる Silverlight アプリのメソッドを公開します。

namespace SilverlightApplication
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();

            HtmlPage.RegisterScriptableObject("Page", this);            
        }

        [ScriptableMember]
        public void UpdateDataGrid()
        {
            myDataGridItemsReload(); // your routine
        }
    }
} 

次に、新しく開いたウィンドウで、Silverlight インスタンスでメソッドを実行できます。

<script>
    window.onunload = refreshParentGrid;
    function refreshParentGrid() {
        var hostDiv = window.opener.document.getElementById("silverlightControlHost");
        var control = hostDiv.children[0];           
        control.Content.Page.UpdateDataGrid();
    }
</script>
于 2012-09-28T04:29:00.227 に答える