public CardControl()
{
InitializeComponent();
if (mouseClickHandler == null)
mouseClickHandler = new MouseClickHandler(
this.Dispatcher,
MouseButtonUpAction,
MouseButtonDoubleClickAction);
if (DesignerProperties.GetIsInDesignMode(this)) return;
Program.GameEngine.ComposeParts(this);
//fix MAINWINDOW bug
_mainWin = WindowManager.PlayWindow;
int markerSize = Program.GameEngine.Definition.MarkerSize;
if (markerSize == 0) markerSize = 20;
markers.Margin = new Thickness(markerSize / 8);
peekEyeIcon.Width = peekers.MinHeight = markerSize;
anchoredIcon.Width = markerSize;
peekers.SetValue(TextBlock.FontSizeProperty, markerSize * 0.8);
//if (Program.GameEngine.Definition.CardCornerRadius > 0)
img.Clip = new RectangleGeometry();
AddHandler(MarkerControl.MarkerDroppedEvent, new EventHandler<MarkerEventArgs>(MarkerDropped));
AddHandler(TableControl.TableKeyEvent, new EventHandler<TableKeyEventArgs>(TableKeyDown));
DataContextChanged += CardChangedHandler;
Unloaded += RemoveCardHandler;
Loaded += RestoreCardHandler;
Loaded += AnimateLoad;
SizeChanged += OnSizeChanged;
}