Példa – Lépcsőzetes beviteli mezők létrehozása a Data Standard párbeszédpanelhez

Hozzon létre többszintű kombinált listát (vagy más néven kiválasztási listát) a Data Standard párbeszédpanelhez, ahol az első listában megadott választól függően jelenik meg a következő lista.

Amikor kiválaszt egy értéket az első mezőben, a következő mezőnek az előzőben kiválasztottra alapuló értékeket kell megjelenítenie. Például két beviteli mezőből az első autógyártók nevét (BMW, Mercedes, Ferrari stb.) jeleníti meg, a második pedig autótípusokat jelenít meg a kiválasztott vállalathoz (BMW: 1, 2, 5, X2, X5...; Mercedes: A, B, C, CL, CLS...).

Hozzon létre egy beviteli listája

Négy részből áll a kombinált lista létrehozása.

  1. 1. lépés: Hozzon létre egy adatforrást

    Szükség van egy forrásra, ahonnan az adatok származnak a beviteli mezőben. Mivel a WPF-hez tartozik egy saját XML motor, létrehozhat egy XML fájlt, amely tartalmazza az adatokat. Az XML fájlban az első szint tartalma az első kiválasztásra vonatkozik. Minden bejegyzés gyermekbejegyzésekkel rendelkezik a második kiválasztás számára. Ezek a második szintű bejegyzések több gyermekkel is rendelkezhetnek, ha három vagy több beágyazott kiválasztási listára van szüksége.

    Ez így néz ki:

    Hozzon létre egy data.xml fájlt, másolja be ezt a tartalmat a fájlba, majd mentse a fájlt a kívánt helyre. (Ebben a példában mentse a Data.xml fájlt a C:\Temp mappába).

  2. Adja hozzá a data.xml, a Data Standard .xaml fájlt. Ez lehetővé teszi a kombinált listák számára az adatok használatát.

    Adja hozzá a következő sorokat az Erőforrás szakaszban az .xaml fájlhoz:

    <XmlDataProvider x:Key="comboDataSource" Source="C:\Temp\data.xml"/>
    

    Így néz ki a teljes Erőforrás szakasz:

    <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>
    

    Az új erőforrás neve comboDataSource, és az útvonal a data.xml fájlra mutat.

  3. Most hozza létre a beviteli mezőket és állítsa be azokat úgy, hogy az első szintű adatokra mutassanak az XML-ben, illetve a megfelelő második szintre.

    A következő példa az első legördülő listát mutatja:

    <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"/>
    

    Az első kombinált lista Source eleme a korábban definiált StaticResource-comboDataSource.

    A második kombinált lista a következőképpen néz ki:

    <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"/>
    

    A legtöbb attribútum a példánkban ugyanolyan szerepet játszik, mint az első beviteli mezőben. A valós különbség az ItemSource. Ebben a példában az ItemSource az első, ComboCarCompanies nevű listában meghatározott SelectedItem értékből származik.

  4. Határozza meg a CarType és a Car tulajdonságdefiníciókat: attól függően, hogy ehhez a példához melyik eszközt használja, az Inventor.cfg vagy az AutoCAD.cfg fájlban adja hozzá a CarType és a Car mezők tulajdonságdefinícióit. Lásd a tulajdonságdefiníciók hozzáadását a konfigurációs fájlban.

    Megjegyzés: A VDS 2019-től kezdődően ez a lépés kihagyható, mivel a VDS belsőleg létrehozza a hiányzó tulajdonságdefiníciókat.
  5. Mentse a módosításokat, és tekintse át a párbeszédpanelt.