protected override void OnTemplateApplied(TemplateAppliedEventArgs e)
{
titleBar = e.NameScope.Find<Grid>("titlebar");
minimiseButton = e.NameScope.Find<Button>("minimiseButton");
restoreButton = e.NameScope.Find<Button>("restoreButton");
closeButton = e.NameScope.Find<Button>("closeButton");
icon = e.NameScope.Find<Image>("icon");
topHorizontalGrip = e.NameScope.Find<Grid>("topHorizontalGrip");
bottomHorizontalGrip = e.NameScope.Find<Grid>("bottomHorizontalGrip");
leftVerticalGrip = e.NameScope.Find<Grid>("leftVerticalGrip");
rightVerticalGrip = e.NameScope.Find<Grid>("rightVerticalGrip");
topLeftGrip = e.NameScope.Find<Grid>("topLeftGrip");
bottomLeftGrip = e.NameScope.Find<Grid>("bottomLeftGrip");
topRightGrip = e.NameScope.Find<Grid>("topRightGrip");
bottomRightGrip = e.NameScope.Find<Grid>("bottomRightGrip");
minimiseButton.Click += (sender, ee) => { WindowState = WindowState.Minimized; };
restoreButton.Click += (sender, ee) => { ToggleWindowState(); };
titleBar.DoubleTapped += (sender, ee) => { ToggleWindowState(); };
closeButton.Click += (sender, ee) => { Application.Current.Exit(); };
icon.DoubleTapped += (sender, ee) => { Close(); };
}
}