zoukankan      html  css  js  c++  java
  • WPF的ComboBox数据绑定,使用Dictionary作为数据源

    ViewModel
    //属性定义
         Dictionary<int, string> _selGroupList;
            /// <summary>
            /// 分组下拉列表
            /// </summary>
            public Dictionary<int, string> selGroupList
            {
                get { return _selGroupList; }
                set
                {
                    _selGroupList = value;
                    NotifyOfPropertyChange("selGroupList");
                }
            }
            private int _Group;
            /// <summary>
            ///当前分组
            /// </summary>
            public int Group
            {
                get { return _Group; }
                set
                {
                    _Group = value;
                    NotifyOfPropertyChange(() => Group);
                }
            }

    //初始化数据
     //界面数据
      public ModuleInfoViewModel(sys_Right_Module groupInfo, OperType type)
    {
           GetGroupList();
           Group = groupInfo.GroupID;
    }
     /// <summary> 
    /// 初始化分组下拉数据
     /// </summary>
     public void GetGroupList()
     { 
    Dictionary<int, string> dic = new Dictionary<int, string>();
     dic.Add(-1, "=请选择=");
     List<sys_Right_Group> groupList = DataBaseService.DataBaseServer<sys_Right_Group>.GetModelList(" IsActive=1 ");
     if (groupList != null)
     { 
      groupList.ForEach(x => 
      { 
        dic.Add(x.GroupID, x.GroupName); });
      } 
    selGroupList = dic; 
    Group = -1; //默认选中第一项 
    }

    View界面绑定:

    ItemsSource数据源为字典数据

    DisplayMemberPath="Value" 为显示字典数据的值

    SelectedValuePath="Key"字典数据的键与 SelectedValue 类型对应

    <ComboBox Grid.Row="8" Grid.Column="1" ItemsSource="{Binding selGroupList}" SelectedIndex="0"  SelectedValuePath="Key" 
    DisplayMemberPath="Value" SelectedValue="{Binding Group,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
    HorizontalAlignment="Left" Width="252" Height="25" IsEditable="True" Margin="5,3"> </ComboBox>

     界面效果:


  • 相关阅读:
    PHP之十六个魔术方法详解
    PHP之十六个魔术方法详解
    让Docker容器使用静态独立的外部IP(便于集群组建)
    桥接和nat模式区别
    使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
    docker gitlab
    docker gitlab安装
    docker ui管理工具
    docker 批量删除容器
    Scrapy设置代理
  • 原文地址:https://www.cnblogs.com/nimorl/p/12099642.html
Copyright © 2011-2022 走看看