diff --git a/PDGServer_WPF/ConnectionPage.xaml.cs b/PDGServer_WPF/ConnectionPage.xaml.cs index 9cfc60a..cbe942a 100644 --- a/PDGServer_WPF/ConnectionPage.xaml.cs +++ b/PDGServer_WPF/ConnectionPage.xaml.cs @@ -142,7 +142,17 @@ namespace RBG_Server_WPF break; } } - if (loadedSprite == null) loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); + if (loadedSprite == null) + { + //spriteImage.MouseDown += SpriteImage_Tapped; + //spriteImage.TouchDown += SpriteImage_Tapped; + //spriteImage.StylusDown += SpriteImage_Tapped; + loadedSprite = new LoadedSpriteGrid(spriteImage, e.Message); + + loadedSprite.MouseDown += SpriteImage_Tapped; + loadedSprite.TouchDown += SpriteImage_Tapped; + loadedSprite.StylusDown += SpriteImage_Tapped; + } // Add the loaded image into the view Dispatcher.Invoke(() => ClientLoadedSprites.Children.Add(loadedSprite)); @@ -152,14 +162,32 @@ namespace RBG_Server_WPF } + LoadedSpriteGrid currentlySelected = null; + + private void SpriteImage_Tapped(object sender, InputEventArgs e) + { + currentlySelected.frame.BorderThickness = new Thickness(0, 0, 0, 0); + currentlySelected = sender as LoadedSpriteGrid; + currentlySelected.frame.BorderThickness = new Thickness(3, 3, 3, 3); + } + internal class LoadedSpriteGrid : Grid { string imageName; + public Border frame; public LoadedSpriteGrid(Image spriteImage, string imageName) { - Children.Add(spriteImage); + // Listen to events + frame = new Border(); + frame.Child = spriteImage; + frame.BorderThickness = new Thickness(0, 0, 0, 0); + frame.BorderBrush = new SolidColorBrush(Color.FromArgb(255, 0, 100, 200)); + Children.Add(frame); this.imageName = imageName; } + + + public new bool Equals(object obj) { if (obj == null || GetType() != obj.GetType())