>백엔드 개발 >C++ >WPF ComboBox에 열거형을 바인딩하는 방법은 무엇입니까?

WPF ComboBox에 열거형을 바인딩하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-05 01:09:40477검색

How to Bind an Enum to a WPF ComboBox?

WPF의 ComboBox 바인딩에 열거형

질문

추가 표시 문자열 없이 열거형 값을 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.