C# 将选定项绑定到动态设置列表
我创建了一个窗口,显示一个绑定到C# 将选定项绑定到动态设置列表,c#,wpf,C#,Wpf,我创建了一个窗口,显示一个绑定到ListOfPlayers(字符串列表)的ListBox 此窗口的目的是从ListOfPlayers中选择球员组建球队 有时候,我想为红队挑选球员,我有一个球员名单(一个属性) 有时,我想为蓝队选择球员,我有一个相应的蓝队球员列表 现在,在我的窗口构造函数中,我有一个bool isRedTeam参数,并且基于该参数,我填充了ListOfRedPlayers或ListOfBluePlayers 这是可行的,但它很糟糕,因为它不能整齐地扩展到两个团队之外。我可以使用E
ListOfPlayers
(字符串列表)的ListBox
此窗口的目的是从ListOfPlayers
中选择球员组建球队
有时候,我想为红队挑选球员,我有一个球员名单(一个属性)
有时,我想为蓝队选择球员,我有一个相应的蓝队球员列表
现在,在我的窗口构造函数中,我有一个bool isRedTeam
参数,并且基于该参数,我填充了ListOfRedPlayers
或ListOfBluePlayers
这是可行的,但它很糟糕,因为它不能整齐地扩展到两个团队之外。我可以使用Enum(RedTeam、BlueTeam、GreenTeam等),但这看起来并不那么整洁
我尝试通过引用传递相应的players属性列表,但我不能这样做(不能通过引用传递属性)
请注意,我确实使用了属性设置器(例如,ListOfBluePlayers=newobserveCollection();
,而不仅仅是ListOfBluePlayers.Clear()
),因此直接使用输入参数ListOfPlayers
是行不通的
有没有一种简洁的方法可以做到这一点?这对完成任务有帮助吗
bool isRedTeam = true; // true/false
ObservableCollection<string> ListOfRedPlayers { get; set; }
ObservableCollection<string> ListOfBluePlayers { get; set; }
public ObservableCollection<string> ListOfPlayers
{
get
{
if(isRedTeam) return ListOfRedPlayers
else return ListOfBluePlayers
}
set
{
if (isRedTeam) ListOfRedPlayers = value;
else ListOfBluePlayers = value;
}
}
bool isRedTeam=true;//对/错
ObservableCollection ListOfReplayers{get;set;}
BluePlayers{get;set;}的ObservableCollection列表
公共可观测收集层列表
{
得到
{
if(isRedTeam)返回还原层列表
否则返回蓝色玩家列表
}
设置
{
if(isRedTeam)listofReplayers=值;
else ListOfBluePlayers=值;
}
}
枚举就可以了。如果您希望它是无限可伸缩的,您可以为团队使用一个名称字符串,但是您的体系结构在这样做时还存在其他问题。您最好创建一个团队类,该类维护自己的参与者列表以及关于团队的元数据,如团队名称。然后你有一个列表