1

ブラウザーで実行されない Silverlight アプリケーションで、新しいトップレベル ウィンドウを作成することはできますか? または、少なくとも子ウィンドウですか?

クラスを使用していくつかの解決策を見つけましChildWindowたが、プロジェクトが Silverlight 4 用に構成されていても、そのクラスが見つかりません。

新しいウィンドウとして表示したいUserControl(XAML ファイル) があります。残念ながら、ユーザーは複数のウィンドウを一度に表示できるようにウィンドウを配置できる必要があるため、タブ コントロールを使用することは実際にはオプションではありません。

助言がありますか?

4

1 に答える 1

2

ChildWindowChildWindowSDKの一部である場合、タイプにアクセスするにはSystem.Windows.Controls.dllを追加する必要があります。

ChildWindowに期待どおりの動作をさせることができるかどうかはわかりません。ChildWindowは、モーダルな方法でウィンドウを表示するように設計されています。ただし、このモーダル動作は実際にはChildWindowテンプレートの機能です。モーダル動作を削除するために再テンプレート化することが可能です。ただし、複数の子ウィンドウを操作しようとしたことはありません。試してみることができます。大きな問題は、作成された順序とは異なる順序で子ウィンドウを閉じるとどうなるかということです。

を使用しChildWindowて自分を提示するには、の代わりに、UserControlから派生するのがおそらく最善でしょう。特定のXamlとChildWindowの間に基本クラスを作成し、すべてのウィンドウに共通のコードを配置する方が、最終的には優れている場合もあります。ChildWindowUserControl

Silverlight5は複数のウィンドウをサポートすることに注意してください。

于 2011-06-20T12:24:47.840 に答える