将C#数据绑定到组合框,列表框,文本框

时间:2019-11-15 14:26:27

标签: c# data-binding

我创建了一个包含2个列表的程序。角色(教练,裁判,球员)和用户名列表。如何在主类中编写数据绑定元素?我正在写的内容并不绑定到控件。我希望组合框具有教练,裁判,球员的下拉选项。名称在文本框中输入,并显示在列表框中。

会员等级:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp1
{
    class Member
    {
        string MemberName { get; set; }
        string MemberAddress { get; set; }

        public Member(string memberName, string memberAddress)
        {
            MemberName = memberName;
            MemberAddress = memberAddress;
        }
    }
}

角色类别:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp1
{
    class Role : List<Member>
    {
        public string MemberRole { get; set; }

        public Role(string memberRole)
        {
            MemberRole = memberRole;
        }

        public List<Member> Members { get { return this; } }
    }
}

主类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            List<Role> roles = new List<Role>();
            Role role1 = new Role("Member Role");
            role1.Add(new Member("Jay", "Jones"));
            role1.Add(new Member("chris", "cross"));
            role1.Add(new Member("John", "jones"));
            Binding cboBindingSource = new Binding();
            Binding lboBindingSource = new Binding();
            cboBindingSource.Source = roles;
            lboBindingSource.Source = "Roles";
            ComboBox.TextProperty = "Role Name";
            ComboBox = cboBindingSource;
            ListBox.DataContextProperty = lboBindingSource;
            ListBox.DisplayMemberPathProperty = "Member Name";
            textBox.DataContext.ToString("Text", lboBindingSource, "StudentAddress");
        }




    }
}

1 个答案:

答案 0 :(得分:0)

查看您的代码

ListBox.DisplayMemberPathProperty = "Member Name";

应为:

ListBox.DisplayMemberPathProperty = "MemberName";
相关问题