private void AttachThumbnailsToPanel() { if (wrapPanel != null) { wrapPanel.Children.Clear(); foreach (object item in Items) { RibbonThumbnail container = item as RibbonThumbnail; if (container == null) { container = ItemContainerGenerator.ContainerFromItem(item) as RibbonThumbnail; } if (container != null) { RibbonThumbnail thumbnail = new RibbonThumbnail(); thumbnail.ImageSource = container.ImageSource; Binding b = new Binding("IsSelected") { Mode = BindingMode.TwoWay, Source = container }; thumbnail.Original = container; thumbnail.SetBinding(RibbonThumbnail.IsSelectedProperty, b); PrepareContainerForItemOverride(thumbnail, item); wrapPanel.Children.Add(thumbnail); } } } }
private void Select() { RibbonThumbnail original = this.Original != null ? Original : this; if (Gallery != null) { Gallery.SelectedItem = original; } }
protected override void OnMouseEnter(System.Windows.Input.MouseEventArgs e) { base.OnMouseEnter(e); RibbonThumbnail thumb = Original != null ? Original : this; if (Gallery != null) { Gallery.HotThumbnail = thumb; } }
protected virtual void OnHotThumbnailChanged(DependencyPropertyChangedEventArgs e) { RibbonThumbnail hot = HotThumbnail; HotItem = hot == null || IsItemItsOwnContainerOverride(hot) ? hot : ItemContainerGenerator.ItemFromContainer(hot); RoutedEventArgs args = new RoutedEventArgs(RibbonGallery.HotThumbnailChangedEvent); RaiseEvent(args); }
protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); RibbonThumbnail tn = element as RibbonThumbnail; if (tn != null) { tn.Width = ThumbnailSize.Width; tn.Height = CalculateInRibbonThumbnailHeight(); Stretch stretch = RibbonGallery.GetStretch(this); RibbonGallery.SetStretch(tn, stretch); } }
private void AttachThumbnailsToPanel() { if (wrapPanel != null) { wrapPanel.Children.Clear(); foreach (object item in Items) { var container = item as RibbonThumbnail; if (container == null) container = ItemContainerGenerator.ContainerFromItem(item) as RibbonThumbnail; if (container != null) { var thumbnail = new RibbonThumbnail(); thumbnail.ImageSource = container.ImageSource; var b = new Binding("IsSelected") { Mode = BindingMode.TwoWay, Source = container }; thumbnail.Original = container; thumbnail.SetBinding(ListBoxItem.IsSelectedProperty, b); PrepareContainerForItemOverride(thumbnail, item); wrapPanel.Children.Add(thumbnail); } } } }