locked
out of browser の複数ウィンドウ立ち上げ RRS feed

  • 質問

  • お世話になります。

    デスクトップアプリ形式で、複数ウィンドウによる制御を行いたいのですが、

    (画面上にウィジェットが複数個あり、互いに連携をするイメージ)

    out of browserで複数のウィンドウを立ち上げることは可能でしょうか?

    ご教示よろしくお願いいたします。

    2010年4月5日 12:11

回答

  • 基本的にSilverlightは一つのメインWindowの中で動作するため新たなウインドウを開くことはできません。Silverlight 3では K.Oumiさんが紹介されているChildWindowのようなメインウインドウの中で動作するサブウインドウが追加されました。

    Silverlight 4で権限がエスカレートされていれば、ローカル資源にアクセスできるのでSLancher経由でほかのブラウザー外実行のアプリケーションを動作させることはできます。ただ、通常のWPFアプリケーションのように起動もとから、じかにWindowsを操作したりすることはできないのでローカルメッセージ通信などを使ってイベントをやり取りすることになると思います。

    • 回答としてマーク krkwk1 2010年4月14日 7:01
    2010年4月9日 3:10
  • 基本的にSilverlightは一つのメインWindowの中で動作するため新たなウインドウを開くことはできません。Silverlight 3では K.Oumiさんが紹介されているChildWindowのようなメインウインドウの中で動作するサブウインドウが追加されました。

    Silverlight 4で権限がエスカレートされていれば、ローカル資源にアクセスできるのでSLancher経由でほかのブラウザー外実行のアプリケーションを動作させることはできます。ただ、通常のWPFアプリケーションのように起動元から、直にほかのWindowを操作したりすることはできないのでローカルメッセージ通信などを使ってイベントをやり取りすることになると思います。

    • 回答としてマーク krkwk1 2010年4月14日 7:01
    2010年4月9日 3:11

すべての返信

  • こんにちは。

    ブラウザ外実行するアプリケーションを、複数同時に立ち上げておけるか?という意味では、当然可能です。

    ある1つのブラウザ外実行しているアプリケーションから、他のブラウザ外実行するアプリケーションを起動できるか?という意味では、方法は無いような気がします。セキュリティ的な問題を含んでいると思います。
    (自分が知らないだけかも。SL4だとどうなのか?は判りません。)

     


    K.Oumi
    • 回答としてマーク krkwk1 2010年4月7日 2:43
    • 回答としてマークされていない krkwk1 2010年4月7日 2:44
    2010年4月6日 5:51
  • K.Oumiさん

     

    ご返信ありがとうございました。

    質問が恣意的過ぎました。すみません。。。

     

    Out of browserに限定した話ではないのかも知れませんが、

    WPFやAdobe AIRで言うところのWindowクラスの様な機能、という意味です。

     

    Out of browserで起動した場合、ひとつのWindow内でプロジェクトが完結してしまっているので、

    別ウィンドウを新規に表示させることは可能なのかを知りたく。

    (たとえば登録項目の編集画面を別ウィンドウで表示 → 修正後メイン画面にて修正を反映した表示に更新、とか)

     

    SL4にて、NotificationWindowが追加されたので、それに類する機能としてもしかしたら、、、と思って質問した次第です。

     

    よろしくお願いいたします。

    2010年4月7日 3:09
  • こんにちは

    AIRの子ウィンドウみたいに、自由にはならないかもしれませんが、ChildWindowコントロール はどうでしょうか。


    K.Oumi
    2010年4月8日 6:11
  • 基本的にSilverlightは一つのメインWindowの中で動作するため新たなウインドウを開くことはできません。Silverlight 3では K.Oumiさんが紹介されているChildWindowのようなメインウインドウの中で動作するサブウインドウが追加されました。

    Silverlight 4で権限がエスカレートされていれば、ローカル資源にアクセスできるのでSLancher経由でほかのブラウザー外実行のアプリケーションを動作させることはできます。ただ、通常のWPFアプリケーションのように起動もとから、じかにWindowsを操作したりすることはできないのでローカルメッセージ通信などを使ってイベントをやり取りすることになると思います。

    • 回答としてマーク krkwk1 2010年4月14日 7:01
    2010年4月9日 3:10
  • 基本的にSilverlightは一つのメインWindowの中で動作するため新たなウインドウを開くことはできません。Silverlight 3では K.Oumiさんが紹介されているChildWindowのようなメインウインドウの中で動作するサブウインドウが追加されました。

    Silverlight 4で権限がエスカレートされていれば、ローカル資源にアクセスできるのでSLancher経由でほかのブラウザー外実行のアプリケーションを動作させることはできます。ただ、通常のWPFアプリケーションのように起動元から、直にほかのWindowを操作したりすることはできないのでローカルメッセージ通信などを使ってイベントをやり取りすることになると思います。

    • 回答としてマーク krkwk1 2010年4月14日 7:01
    2010年4月9日 3:11
  • 返信が遅くなりました。

    K.Oumiさん

    たしかにChildWindowによって、擬似的な複数ウィンドウが実現できそうですね。

    そもそもの要件とずれてしまいますが、、、、一番現実的なのかも知れません。

    ありがとうございました。

     

    かるあさん

    なるほどです。

    ひとつのSilverlightアプリではメインウィンドウはひとつ、という事ですね。

    SL4の例ではウィンドウ1つにつき、ブラウザ外実行アプリ1つという事ですので、

    インストールの手間などを考えると、これはこれで問題ですよね。。。

    WPFへの移行や要件変更を含め、再考してみます。

    ありがとうございました。

     

    2010年4月14日 7:13