数据绑定用户输入C#
我试图使用3个角色(教练、裁判、球员)的列表创建数据绑定。根据角色的不同,将显示数据绑定信息。在我的代码中,我创建了两个类,一个用于成员获取姓名和地址,另一个用于角色获取成员角色(教练、裁判、球员)。当尝试插入代码将成员添加到主类中的列表时,我得到一个错误,我的成员类没有参数;但是,显示了我设置的名称和地址的2个字符串。当我得到的时候,怎么没有争论;设置名称和地址?此外,在设置数据绑定时,无法识别DataMember和DataSource 成员类别:数据绑定用户输入C#,c#,wpf,data-binding,C#,Wpf,Data Binding,我试图使用3个角色(教练、裁判、球员)的列表创建数据绑定。根据角色的不同,将显示数据绑定信息。在我的代码中,我创建了两个类,一个用于成员获取姓名和地址,另一个用于角色获取成员角色(教练、裁判、球员)。当尝试插入代码将成员添加到主类中的列表时,我得到一个错误,我的成员类没有参数;但是,显示了我设置的名称和地址的2个字符串。当我得到的时候,怎么没有争论;设置名称和地址?此外,在设置数据绑定时,无法识别DataMember和DataSource 成员类别: namespace WpfApp1 {
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; } }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间WpfApp1
{
类角色:列表
{
公共字符串成员角色{get;set;}
公共角色(字符串成员角色)
{
MemberRole=MemberRole;
}
公共列表成员{get{返回此;}}
}
}
主要类别:
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 = cboBindingSource;
lboBindingSource.DataMember = "Roles";
ComboBox.DataSource = cboBindingSource;
ComboBox.DisplayMemberPathProperty("Role Name");
ListBox.DataContextProperty
}
}
}
名称空间WpfApp1
{
///
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
列表角色=新列表();
角色1=新角色(“成员角色”);
角色1.添加(新成员(“Jay,Jones”);
角色1.添加(新成员(“克里斯,十字架”);
角色1.添加(新成员(“约翰、琼斯”);
Binding cboBindingSource=新绑定();
Binding lboBindingSource=新绑定();
cboBindingSource.Source=角色;
lboBindingSource.Source=cboBindingSource;
lboBindingSource.DataMember=“角色”;
ComboBox.DataSource=cboBindingSource;
ComboBox.DisplayMemberPathProperty(“角色名称”);
ListBox.DataContextProperty
}
}
}
成员类中没有构造函数接受一个参数,而定义的构造函数接受两个参数。因此没有参数错误。要么通过role1.Add(新成员(“Jay,Jones”,“India”);或角色1.成员。添加(新成员(“aas”、“assa”) 在main window()
中,只为成员构造函数提供了一个字符串参数,并且此构造函数只接受两个参数,因此出现无参数错误。还将绑定对象设置为另一个绑定对象的源(lboBindingSource.source=cboBindingSource;
)没有意义。请使用role1.Members.Add(新成员(…)
或roles.Add(新成员(…)
)。如果是前者,不要忘记先设置role1.Members=roles
。