【问题标题】:Data Binding C# to combo box, list box, text box数据绑定 C# 到组合框、列表框、文本框
【发布时间】:2019-11-15 14:26:27
【问题描述】:

我创建了一个包含 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");
        }




    }
}

【问题讨论】:

    标签: c# data-binding


    【解决方案1】:

    查看你的代码

    ListBox.DisplayMemberPathProperty = "Member Name";
    

    应该是:

    ListBox.DisplayMemberPathProperty = "MemberName";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2011-10-14
      • 2011-04-15
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多