Beispiel #1
0
        public override void Draw(SpriteBatch spriteBatch, Rectangle rectangle)
        {
            int yoffset = Margin + rectangle.Y;

            ChildElements?.Where(e => e.IsVisible).ToList().ForEach((e) =>
            {
                var rect             = e.Rectangle;
                Rectangle targetRect = new Rectangle(rectangle.X + Margin, yoffset, rectangle.Width - 2 * Margin, rect.Height);
                yoffset    += (Margin + targetRect.Height);
                e.Rectangle = targetRect;
            });
            Rectangle = new Rectangle(Rectangle.Location, new Point(Rectangle.Width, yoffset - rectangle.Y));
            base.Draw(spriteBatch, Rectangle);
        }
Beispiel #2
0
        protected string GetChildString(string name)
        {
            var child = ChildElements.Where(elem => elem.Name.ToString() == name).FirstOrDefault();

            if (child == null)
            {
                return(null);
            }

            var charData = child.Children.FirstOrDefault() as ICharacterData;

            return(charData != null ?
                   charData.Content
                : null);
        }
Beispiel #3
0
 /// <summary>
 /// Retrieves a child element whose property name matches the specified property name.
 /// </summary>
 /// <param name="propertyName">The property name to match to the child element's property name.</param>
 /// <returns>The located child element or <see langword="null"/></returns>
 public ElementViewModel ChildElement(string propertyName)
 {
     return(ChildElements.Where(x => x.declaringProperty.Name == propertyName).FirstOrDefault());
 }