public Image getImage() { Image img = new Image(); if (!imageCache.ContainsKey(Item.IconURL)) { using (var stream = ApplicationState.Model.GetImage(Item)) { var bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.StreamSource = stream; bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap.EndInit(); bitmap.Freeze(); imageCache.Add(Item.IconURL, bitmap); } } img.Source = imageCache[Item.IconURL]; var itemhover = new ItemHover() { DataContext = ItemHoverViewModelFactory.Create(Item) }; Popup popup = new Popup(); popup.AllowsTransparency = true; popup.PopupAnimation = PopupAnimation.Fade; popup.StaysOpen = true; popup.Child = itemhover; popup.PlacementTarget = img; img.Stretch = Stretch.None; img.MouseEnter += (o, e) => { popup.IsOpen = true; }; img.MouseLeave += (o, e) => { popup.IsOpen = false; }; return img; }
private Image getMouseOverImage(Image img, Item item) { var itemhover = new ItemHover() { DataContext = ItemHoverViewModelFactory.Create(item) }; Popup popup = new Popup(); popup.PopupAnimation = PopupAnimation.Fade; popup.StaysOpen = true; popup.Child = itemhover; popup.PlacementTarget = img; img.MouseEnter += (o, e) => { popup.IsOpen = true; }; img.MouseLeave += (o, e) => { popup.IsOpen = false; }; return img; }