2011-06-24 104 views
0

我在嘗試從SDK中設計ChildWindow控件時遇到了一些主要問題。ChildWindow造型問題

第一個問題:

ChildWindow不拿起隱式樣式。我明白爲什麼,這是因爲實際的子窗口始終是派生類。

我知道我可以直接使用顯式樣式,這是我當前的解決方案,但有沒有其他解決此問題的方法,以便我不必記住明確標記所有子窗口共同的風格?

第二期:

我們使用棱鏡4,我有一個由棱鏡基礎設施動態加載的模塊中的一個子窗口實例。它提取了明確的子窗口樣式,但它沒有拾取在shell的App.xaml(例如TextBox控件模板)中定義的任何其他隱式樣式。

這似乎只是動態模塊內部的一個問題,在基於shell的窗口中很好。任何想法爲什麼發生這種情況,我能做些什麼來解決它?

回答

0

原來,棱鏡不是問題 - 在子窗口中定義了隱式樣式,它們從shell中清除隱式樣式,因爲它們沒有使用BasedOn。添加此屬性後,現在一切正常。

0

對於你的第一個問題,你的目標是ChildWindow風格派生的?如果是這樣的話,你需要指定TargetType的派生類型,以便隱式樣式可以踢入。

至於你的第二個問題,我不是100%確定如何解決這個問題,但是我們發現如果您在主窗口資源內聲明瞭隱式樣式,它將應用於駐留在外部模塊中的控件。但我認爲這不適用於明確的樣式,雖然...

+0

感謝您的回答。第二種方法不適用於ChildWindows,所以我需要一個解決方法。 – Sam