コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }