首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight 3 DataForm -如何通过枚举填充DataFormComboBoxField

Silverlight 3 DataForm -如何通过枚举填充DataFormComboBoxField
EN

Stack Overflow用户
提问于 2009-06-09 16:49:21
回答 1查看 2.9K关注 0票数 1

XAML

代码语言:javascript
复制
 <df:DataForm x:Name="MobCrud"
        AutoEdit="True"
        AutoCommit="True"
        AutoGenerateFields="False"
        VerticalAlignment="Top"       
        CommandButtonsVisibility="All"
        Header="Mob Details" 
        CanUserAddItems="True"
        CanUserDeleteItems="True"
        CurrentItem="{StaticResource newMob}"
    >
<df:DataForm.Fields>
   <df:DataFormTextField  Binding="{Binding Name}" FieldLabelContent="Name" />
   <df:DataFormTextField Binding="{Binding Title}" FieldLabelContent="Title"/>
   <df:DataFormComboBoxField  x:Name="AuraList" Binding="{Binding Aura}"  FieldLabelContent="Aura"/>
</df:DataForm.Fields>

代码:

代码语言:javascript
复制
public enum Auras
{
    Holy,
    Fire,
    Frost,
}

public class MobDetail : IEditableObject
{
    public string Name { get; set; }
    public string Title { get; set; }
    public Auras Aura { get; set; }

    public override string ToString() { return Name; }

    public void BeginEdit(){}
    public void EndEdit(){}
    public void CancelEdit(){}
}

DataForm ItemsSource绑定到ObservableCollection()

我需要做什么来填充和初始化下拉列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-09 17:27:08

答案是使用转换器:

代码语言:javascript
复制
<df:DataFormComboBoxField  
     x:Name="AuraList"
     Binding="{Binding Aura, Mode=TwoWay,
               Converter={StaticResource enumSelectedValueConverter}}"
     FieldLabelContent="Aura"/>

并在窗体加载事件上设置ItemsSource

代码语言:javascript
复制
(MobCrud.Fields[2] as DataFormComboBoxField).ItemsSource =
                 Enums.GetStringArray(typeof(Auras));

完整的故事请看这里:

Creating-Rich-Data-Forms-in-Silverlight-3-Customization

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/971243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档