Data Standard 대화상자에 대해 여러 개의 콤보 상자(선택 리스트)를 작성할 수 있습니다. 첫 번째 콤보 상자에서 선택한 항목에 따라 다음 콤보 상자가 결정됩니다.
첫 번째 상자에서 값을 선택하면 다음 상자에는 첫 번째 선택에 따라 값이 표시됩니다. 예를 들어, 두 개의 콤보 상자가 있다고 가정해 보겠습니다. 하나는 자동차 회사 이름(BMW, Mercedes, Ferrari 등)을 표시하고, 두 번째 상자는 선택한 회사의 자동차 유형(BMW의 경우 1, 2, 5, X2, X5...; Mercedes의 경우 A, B, C, CL, CLS...)을 표시합니다.
콤보 상자 작성은 네 부분으로 이루어집니다.
1단계: 데이터 원본 작성
필요한 데이터를 콤보 상자를 채웁니다. WPF에는 기본 XML 엔진이 포함되어 있으므로 해당 데이터를 포함하는 XML 파일을 작성할 수 있습니다. XML 파일에는 첫 번째 선택에 대한 첫 번째 단계 컨텐츠가 포함되어 있습니다. 모든 항목에는 두 번째 선택을 위한 하위 항목이 있습니다. 세 번째 단계 또는 좀 더 깊게 내포된 선택 리스트가 필요한 경우에는 이러한 두 번째 항목에 더 많은 하위 항목을 포함할 수 있습니다.
결과는 다음과 같습니다.
data.xml 파일을 작성하고, 이 컨텐츠를 파일에 복사한 후 이 파일을 원하는 위치에 저장합니다. 이 예에서는 Data.xml 파일을 C:\Temp에 저장합니다.
추가 data.xml을 리소스로 데이터 표준 .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
가 첫 번째 콤보 SelectedItem
의 ComboCarCompanies
에서 제공됩니다.
특성 정의 CarType
및 Car
를 정의합니다. 이 예에서 사용하는 도구에 따라 Inventor.cfg 또는 AutoCAD.cfg에서 CarType
및 Car
에 대한 특성 정의를 추가합니다. 여기에서 구성 파일에서 특성 정의 추가에 대한 정보를 참고하십시오.
변경 사항을 저장하고 대화상자를 검토합니다.