Silverligh 自定义的combobox

本文介绍了一种使用数据库查询结果和静态数据作为数据源的用户组合框实现方式,包括管理员组合框和立柱数目组合框的代码示例。

1.从数据库中查询出的数据作为数据源

  /// <summary>
    /// 管理员
    /// </summary>
    public class AdminCombobox:ComboBoxEx
    {
        SysUserContext db = new SysUserContext();
        public AdminCombobox()
            : base()
        {
            if (!DesignerProperties.IsInDesignTool)
            {
                db.Load(db.GetAdminListQuery()).Completed += new EventHandler(AdminCombobox_Completed);


                this.ItemsSource = db.SysUsers;
                this.DisplayMemberPath = "UserName";
                this.SelectedValuePath = "UserID";
                // this.SelectedIndex = 0; 此处不能写这句,因为此时还没有返回数据
            }
        
        }


        void AdminCombobox_Completed(object sender, EventArgs e)
        {
            //两下tab建自动生成的throw 的代码一定要去掉
            if (db.SysUsers.Count > 0)
                this.SelectedIndex = 0;
        }
    }

2.静态数据作为数据源

 /// <summary>
    /// 立柱数目
    /// </summary>
    public class BraceNumCombobox:ComboBoxEx
    {
        public BraceNumCombobox()
            : base()
        {
            if (!DesignerProperties.IsInDesignTool)
            {
                this.ItemsSource = new List<MyType>() {               
               new MyType(){ ID=2,  Name="2"},           
               new MyType(){ ID=4, Name="4"},
               new MyType(){ ID=6, Name="6"}
              };
                this.DisplayMemberPath = "Name";
                this.SelectedValuePath = "ID";
                this.SelectedIndex = 0;
            }
        
        }
    }

备注:MyType是自定义的一个实体类

界面中使用

 <my:DistributionCombobox Height="22" x:Name="distributionCombobox1"  SelectedValueProper="{Binding ZCSensor.PlacementOfThreeArea,Mode=TwoWay}"

 Width="70" />数据类型一定要完全匹配,否则没法选中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值