using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace Dominion.NET_WPF.Controls
{
///
/// Interaction logic for ucCardConstraints.xaml
///
public partial class ucCardConstraints : UserControl
{
public static readonly DependencyProperty ConstraintCollectionProperty =
DependencyProperty.Register("ConstraintCollection", typeof(DominionBase.Cards.ConstraintCollection), typeof(ucCardConstraints),
new PropertyMetadata(new DominionBase.Cards.ConstraintCollection()));
public DominionBase.Cards.ConstraintCollection ConstraintCollection
{
get { return (DominionBase.Cards.ConstraintCollection)GetValue(ConstraintCollectionProperty); }
set {
SetValue(ConstraintCollectionProperty, value);
foreach (var constraint in value)
icConstraints.Items.Add(new ucCardConstraint { DisplayObjects = DisplayObjects, Constraint = constraint });
}
}
public static readonly DependencyProperty DisplayObjectsProperty =
DependencyProperty.Register("DisplayObjects", typeof(DisplayObjects), typeof(ucCardConstraints),
new PropertyMetadata(new DisplayObjects()));
public DisplayObjects DisplayObjects
{
get { return (DisplayObjects)GetValue(DisplayObjectsProperty); }
set
{
SetValue(DisplayObjectsProperty, value);
foreach (var constraint in icConstraints.Items.OfType())
constraint.DisplayObjects = value;
}
}
public ucCardConstraints()
{
InitializeComponent();
}
private void spConstraints_RemoveClick(object sender, RoutedEventArgs e)
{
ConstraintCollection.Remove((e.OriginalSource as ucCardConstraint)?.Constraint);
icConstraints.Items.Remove((ucCardConstraint) e.OriginalSource);
}
private void bAddNew_Click(object sender, RoutedEventArgs e)
{
var constraint = new DominionBase.Cards.Constraint();
ConstraintCollection.Add(constraint);
icConstraints.Items.Add(new ucCardConstraint { DisplayObjects = DisplayObjects, Constraint = constraint });
}
}
}