추가 표시 문자열 없이 열거형 값을 ComboBox의 항목으로 표시하려는 시도가 실패했습니다. XAML 코드는 클래스 속성에 대한 바인딩을 사용하지만 열거형 값은 표시되지 않습니다.
코드를 통한 바인딩
창 로드에서 이벤트 핸들러, ItemsSource 속성을 enum으로 채웁니다. 값:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
XAML에서 바인딩
ObjectDataProvider 활용:
<Window.Resources> <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources> <Grid> <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" /> </Grid>
네임스페이스 매핑
별칭 사용에 유의하세요. 네임스페이스:
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
네임스페이스 및 어셈블리의 올바른 매핑은 MSDN 설명서를 참조하세요.
위 내용은 WPF ComboBox에 열거형을 바인딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!