2011-06-24 16 views
0

SDKからChildWindowコントロールのスタイルを設定しようとすると、いくつかの大きな問題が発生します。ChildWindowスタイル設定の問題

まず問題:

ChildWindowは、暗黙的なスタイルをピックアップしていません。私はなぜそれが実際の子ウィンドウが常に派生クラスであることを理解しています。

代わりに明示的なスタイルを使用することができますが、それは私の現在の解決策ですが、この問題を回避する方法はありますか。一般的なスタイル?

第二の問題:

私たちは、プリズム4を使用していると私はプリズムインフラストラクチャによって動的にロードされるモジュールに子ウィンドウのインスタンスを持っています。これは、明示的な子ウィンドウスタイルを取得しますが、シェルのApp.xaml(例えば、TextBoxコントロールテンプレート)で定義されている他の暗黙のスタイルは選択されません。

これは動的モジュール内でのみ問題があるようですが、シェルベースのウィンドウで問題ありません。なぜこれが起こっているのか、私はそれを修正するために何ができるのですか?

答えて

0

プリズムは問題ではないことが分かります。暗黙的なスタイルは、シェルから暗黙のスタイルを拭き取っていた子ウィンドウで定義されていましたBasedOnを使用していませんでした。この属性を追加した後は、すべて正常に動作します。

0

最初の問題では、ChildWindowをターゲットにして派生型のスタイルを設定していますか?そうであれば、暗黙のスタイルが入り込むように、TargetTypeの派生型を指定する必要があります。

2番目の問題については、これを修正する方法は100%わかりませんが、メインウィンドウのリソース内に暗黙のスタイルを宣言すると、外部モジュールにあるコントロールに適用されます。しかし、私はこれが明示的なスタイルのために働いていないと思います...

+0

あなたの答えをありがとう。 2番目のアプローチはChildWindows専用ではありませんので、回避策が必要です。 – Sam