/// <summary> /// Triggers the transition between visual states. /// </summary> /// <param name="obj">The dependency object.</param> /// <param name="e">The event information.</param> private static void OnSizeChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { FlipTile flipTile = (FlipTile)obj; // And now we'll update the width and height to match the new size. switch (flipTile.Size) { case TileSize.Default: flipTile.Width = 160; flipTile.Height = 160; break; case TileSize.Small: flipTile.Width = 99; flipTile.Height = 99; break; case TileSize.Medium: flipTile.Width = 210; flipTile.Height = 210; break; case TileSize.Large: flipTile.Width = 432; flipTile.Height = 210; break; } flipTile.SizeChanged += OnFlipTileSizeChanged; FlipTileService.FinalizeReference(flipTile); }
/// <summary> /// This event handler gets called as soon as a flip tile is removed from the visual tree. /// Any existing reference of this flip tile is eliminated from the service singleton. /// </summary> /// <param name="sender">The flip tile.</param> /// <param name="e">The event information.</param> void FlipTile_Unloaded(object sender, RoutedEventArgs e) { FlipTileService.FinalizeReference(this); }