繁体   English   中英

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

[英]Data Binding C# to combo box, list box, text box

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

成员 Class:

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;
        }
    }
}

角色 Class:

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; } }
    }
}

主要 Class:

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");
        }




    }
}

查看您的代码

ListBox.DisplayMemberPathProperty = "Member Name";

应该:

ListBox.DisplayMemberPathProperty = "MemberName";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM