本文介绍了如何使用给定枚举中的所有项目填充 XAML 中的 WPF 组合框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个包含四个值的枚举:
Say I have an enum with four values:
public enum CompassHeading
{
North,
South,
East,
West
}
使用这些项目填充 ComboBox 需要什么 XAML?
What XAML would be required to have a ComboBox be populated with these items?
<ComboBox ItemsSource="{Binding WhatGoesHere???}" />
理想情况下,我不必为此设置 C# 代码.
Ideally I wouldn't have to set up C# code for this.
推荐答案
您可以使用 ObjectDataProvider 来做到这一点:
You can use the ObjectDataProvider to do this:
<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}}" />
我在这里找到了解决方案:
I found the solution here:
http://bea.stollnitz.com/blog/?p=28
这篇关于如何使用给定枚举中的所有项目填充 XAML 中的 WPF 组合框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!