bool IUIElementDrawFilter.DrawElement(DrawPhase drawPhase, ref UIElementDrawParams drawParams) { switch (drawPhase) { case DrawPhase.BeforeDrawImage: ImageUIElement imageElement = (ImageUIElement)drawParams.Element; Image image = imageElement.Image; int availableHeight = drawParams.Element.RectInsideBorders.Height; float ratio = (float)availableHeight / (float)image.Height; float newHeight = image.Height * ratio; float newWidth = image.Width * ratio; Rectangle rect = new Rectangle( imageElement.Rect.X, imageElement.Rect.Y, (int)(newWidth), (int)(newHeight) ); // Draw the scaled image. drawParams.Graphics.DrawImage(image, rect); // This tells the grid not to draw the image (since we've already drawn it). return(true); } return(false); }
/// <summary> /// Called after an element's ChildElements have been /// created. The child element's can be repositioned here /// and/or new element's can be added. /// </summary> /// <param name="parent">The <see cref="T:Infragistics.Win.UIElement" /> whose child elements have been created/positioned.</param> /// <exception cref="System.NotImplementedException"></exception> public void AfterCreateChildElements(UIElement parent) { if (parent is MoreActivityIndicatorUIElement) { ImageUIElement imageElement = parent.GetDescendant(typeof(ImageUIElement)) as ImageUIElement; if (imageElement != null) { imageElement.Image = Properties.Resources.MoreActivityIndicator_Down; } } }