簡體   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