3 回答
TA贡献1829条经验 获得超6个赞
我使用了另一种使用MarkupExtension的解决方案。
我做了一个提供项目来源的课程:
public class EnumToItemsSource : MarkupExtension
{
private readonly Type _type;
public EnumToItemsSource(Type type)
{
_type = type;
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return Enum.GetValues(_type)
.Cast<object>()
.Select(e => new { Value = (int)e, DisplayName = e.ToString() });
}
}
这几乎都是......现在在XAML中使用它:
<ComboBox DisplayMemberPath="DisplayName"
ItemsSource="{persons:EnumToItemsSource {x:Type enums:States}}"
SelectedValue="{Binding Path=WhereEverYouWant}"
SelectedValuePath="Value" />
将“枚举:状态”更改为您的枚举
- 3 回答
- 0 关注
- 910 浏览
添加回答
举报