using System;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Collections;
using System.Linq;
using Xamarin.Forms;
using Aurora.Proto.Party;
using DLToolkit.Forms.Controls;
namespace Aurora.Design.Components.MemberList
{
public partial class MemberList : ContentView
{
public MemberList()
{
InitializeComponent();
}
///
/// Bindable property for members list.
///
///
///
///
public static readonly BindableProperty MembersProperty =
BindableProperty.Create(propertyName: "Members",
returnType: typeof(ObservableCollection),
declaringType: typeof(MemberList),
defaultBindingMode: BindingMode.Default,
propertyChanged: OnMembersChanged);
///
/// Backing property for MembersProperty
///
///
public ObservableCollection Members
{
get
{
return (ObservableCollection)GetValue(MembersProperty);
}
set
{
SetValue(MembersProperty, value);
}
}
///
/// Memberes changed event handler. Assign member list source.
///
///
///
///
private static void OnMembersChanged(BindableObject bindable, object oldValue, object newValue)
{
var control = (MemberList)bindable;
var membersList = control.FindByName("MembersList") as FlowListView;
if (newValue is ICollection source)
{
membersList.FlowItemsSource = source;
}
}
}
}