2015-09-04 57 views
0

我想做一個嚮導(用於測試和教育目的)。WPF:給用戶控件一個子控件列表

最後,我想能夠定義它:

<Window ...> 
    <Wizard> 
     <WizardStep> 
     ... 
     </WizardStep> 
     <WizardStep> 
     ... 
     </WizardStep> 
     <WizardStep> 
     ... 
     </WizardStep> 
    </wizard> 
</Window> 

我不需要剝皮或這樣的事情,所以UserControl是爲我好。

目前我掙扎在Wizard類,我怎麼可以把它允許子控件的列表,以及如何使用它們的我UserControl

回答

0

內部在Wizard實施,使用ContentPropertyAttribute指定其中財產WizardStep收集應存放在

從MSDN:

ContentPropertyAttribute類

指示某個類型的哪個屬性是XAML內容屬性。 A XAML處理器在處理屬性類型的XAML表示的XAML子元素 元素時使用此信息。

[ContentProperty("Title")] 
public class Film 
{ 
    public Film() 
    { 
    } 

    public string Title 
    { 
     get { return _title; } 
     set { _title = value; } 
    } 

    private string _title; 
} 

爲了接受比單個對象元素作爲內容多, 類型XAML內容屬性必須是可支持作爲一個集合 類型。

+0

哦:)不錯!我正在尋找不同的父類或重寫的東西,並不難檢查屬性。我會馬上試試,謝謝:) – J4N

+0

只是一個問題,就我而言,這將是一個'ObservableCollection',誰負責它的創建,它會自動完成嗎? – J4N

+0

@ J4N我不能充滿信心地說 - 試試看吧!我會始終在構造函數中初始化它。不保證您只能通過xaml使用它。如果你問我,強迫消費者初始化其成員的課程非常粗魯! – Gusdor