열거형 값을 ComboBox의 항목으로 표시하려고 할 때 DataContext에서 직접 바인딩하는 것만으로는 충분하지 않을 수 있습니다. 이 문제를 해결하기 위해 우리는 코드와 XAML 바인딩을 통한 두 가지 접근 방식을 제시합니다.
Window의 Loaded 이벤트 핸들러에서 다음 코드를 실행합니다.
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
열거형 값을 검색하여 ComboBox의 항목으로 할당합니다. source.
XAML 바인딩의 경우 ObjectDataProvider를 사용합니다.
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" />
Window의 리소스 섹션 내에서 ObjectDataProvider를 정의합니다.
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider>
필요한 사항을 선언하는 것을 잊지 마세요. 네임스페이스:
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
이러한 메서드는 WPF의 ComboBox 컨트롤에 열거형을 바인딩하는 간단하고 효과적인 방법을 제공합니다.
위 내용은 WPF ComboBox 컨트롤에 열거형을 바인딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!