為 Data Standard 對話方塊建立多個組合方塊 (也稱為選取清單),其中下一個組合方塊取決於第一個方塊的選取項。
在第一個方塊中選取值後,下一個方塊應根據第一個選取項展示值。例如,您有兩個組合方塊:一個展示汽車公司名稱 (BMW、Mercedes、Ferrari 等),另一個展示所選公司的車型 (對於 BMW:1、2、5、X2、X5...;對於 Mercedes:A、B、C、CL、CLS...)。
建立組合方塊需要四個部分。
建立資料來源
您需要在資料來源中植入組合方塊。由於 WPF 隨附原生 XML 引擎,您可以建立一個 XML 檔案,並在其中包含資料。XML 檔案包含第一層內容以進行第一個選取。每個項目都有子項目以進行第二個選取。如果您需要三層或更多巢狀選取清單,這些第二個項目還可以擁有更多子系。
以下是其外觀:

建立 data.xml 檔案,複製此內容至檔案中,並將檔案儲存至所需位置。(在本例中,將 data.xml 檔案儲存到 C:\Temp)。
加入 data.xml 做為資源 Data Standard .xaml 檔案。這樣組合方塊便可使用該資料。
將下列各行加入至的資源區段在 .xaml 檔案:
<XmlDataProvider x:Key="comboDataSource" Source="C:\Temp\data.xml"/>
整個資源區段的外觀如下所示:
<WPF:DSWindow.Resources xmlns:prop="clr-namespace:dataStandard.UI.View;assembly=dataStandard.UI">
...
<XmlDataProvider x:Key="comboDataSource" Source="C:\Temp\data.xml"/>
</WPF:DSWindow.Resources>
新資源命名為 comboDataSource,而路徑指向 data.xml。
現在,建立組合方塊,並將其指向 XML 中的第一層資料和對應的第二層。
以下是第一個組合方塊的範例:
<ComboBox x:Name="ComboCarCompanies" Grid.Column="1" Grid.Row="6"
ItemsSource="{Binding Source={StaticResource comboDataSource}, XPath=Data/Companies/Car}" Text="{Binding Prop[CarType].Value}"
DisplayMemberPath="@Type" SelectedValue="{Binding Prop[CarType].Value}" SelectedValuePath="@Type"/>
第一個組合方塊的 Source 設定為先前定義的 StaticResource-comboDataSource。
第二個組合方塊如下所示:
<ComboBox x:Name="ComboCarType" Grid.Column="1" Grid.Row="7"
ItemsSource="{Binding SelectedItem, ElementName=ComboCarCompanies}" Text="{Binding Prop[CarType].Value}"
DisplayMemberPath="@Type" SelectedValue="{Binding Prop[CarType].Value}" SelectedValuePath="@Type"/>
範例中的大多數屬性所扮演角色與第一個組合相同。真正的差異在於 ItemSource。在本例中,ItemSource 來自第一個組合方塊 ComboCarCompanies 的 SelectedItem。
定義性質定義 CarType 和 Car:視您在本例中使用的工具而定,在 Inventor.cfg 或 AutoCAD.cfg 中,加入 CarType 和 Car 的性質定義。請參閱此處瞭解如何在規劃檔中加入性質定義。
儲存變更並檢閱對話方塊。