Attempts to get horizontal list to work

This commit is contained in:
watsonb8
2019-07-10 17:17:10 -04:00
parent 823e1341ca
commit c99f752174
6 changed files with 190 additions and 125 deletions

View File

@ -28,7 +28,11 @@ namespace Aurora.Design.Views.Party
{
this.JoinCommand = new Command(OnJoinExecute, CanJoinExecute);
this.HostCommand = new Command(OnHostExecute, CanHostExecute);
_members = new ObservableCollection<PartyMember>();
_members = new ObservableCollection<PartyMember>
{
new PartyMember{UserName = "asdf"}
};
State(PartyState.SelectingHost);
}
@ -49,7 +53,10 @@ namespace Aurora.Design.Views.Party
{
return _members;
}
set { SetProperty(ref _members, value); }
set
{
SetProperty(ref _members, value);
}
}
public bool IsSelectingHost
@ -87,7 +94,8 @@ namespace Aurora.Design.Views.Party
_executor = BaseExecutor.CreateExecutor<ClientExecutor>();
_executor.Connect(this.Hostname);
SetUpMembers();
SetupMembersCollection();
OnPropertyChanged("Members");
State(PartyState.Connecting);
}
@ -104,7 +112,8 @@ namespace Aurora.Design.Views.Party
_executor = BaseExecutor.CreateExecutor<HostExecutor>();
_executor.Connect(this.Hostname);
SetUpMembers();
SetupMembersCollection();
OnPropertyChanged("Members");
//Change state
State(PartyState.Connecting);
@ -118,18 +127,41 @@ namespace Aurora.Design.Views.Party
#endregion Commands
private void SetUpMembers()
private void SetupMembersCollection()
{
_members = _executor.PartyMembers;
OnPropertyChanged("Members");
_executor.PartyMembers.CollectionChanged += (sender, e) =>
if (_executor != null)
{
if (_executor != null)
foreach (PartyMember member in _executor.PartyMembers)
{
_members = _executor.PartyMembers;
_members.Add(member);
}
OnPropertyChanged("Members");
};
//Setup events
_executor.PartyMembers.CollectionChanged += (sender, e) =>
{
switch (e.Action)
{
case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
{
foreach (PartyMember member in e.NewItems)
{
Members.Add(member);
OnPropertyChanged("Members");
}
break;
}
case System.Collections.Specialized.NotifyCollectionChangedAction.Remove:
{
foreach (PartyMember member in e.OldItems)
{
Members.Remove(member);
OnPropertyChanged("Members");
}
break;
}
}
};
}
}
}
}