Dot-Net

如何使用給定枚舉中的所有項目填充 XAML 中的 WPF 組合框?

  • February 11, 2009

假設我有一個具有四個值的枚舉:

public enum CompassHeading
{
   North,
   South,
   East,
   West
}

使用這些項目填充 ComboBox 需要什麼 XAML?

<ComboBox ItemsSource="{Binding WhatGoesHere???}" />

理想情況下,我不必為此設置 C# 程式碼。

您可以使用 ObjectDataProvider 來執行此操作:

<ObjectDataProvider MethodName="GetValues" 
   ObjectType="{x:Type sys:Enum}" x:Key="odp">
   <ObjectDataProvider.MethodParameters>
       <x:Type TypeName="local:CompassHeading"/>
   </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

<ComboBox ItemsSource="{Binding Source={StaticResource odp}}" />

我在這裡找到了解決方案:

<http://bea.stollnitz.com/blog/?p=28>

引用自:https://stackoverflow.com/questions/538072