Exemplo n.º 1
0
        static void OnSpacingUpdated(object sender, SizeChangedEventArgs e)
        {
            var panel = sender as Panel;
            var value = GetSpacing(panel);

            var tf = GetTrimFirst(panel);
            var tl = GetTrimLast(panel);

            for (int i = 0, Count = panel.Children.Count; i < Count; i++)
            {
                var element = panel.Children[i] as FrameworkElement;
                if ((i == 0 && tf) || (i == (Count - 1) && tl))
                {
                    element.Margin = new Thickness(0);
                }
                else if (FrameworkElementExtensions.GetMargin(element) == null)
                {
                    element.Margin = value;
                }
            }
        }
Exemplo n.º 2
0
        static void UpdateSpacing(Panel panel)
        {
            var spacing
                = GetSpacing(panel);
            var except
                = GetSpacingExcept(panel);

            var eFirst
                = except.HasFlag(SpacingExceptions.First);
            var eLast
                = except.HasFlag(SpacingExceptions.Last);

            for (int i = 0, Count = panel.Children.Count; i < Count; i++)
            {
                var j = panel.Children[i].As <FrameworkElement>();
                if (FrameworkElementExtensions.GetMargin(j) == null)
                {
                    j.Margin
                        = (i == 0 && eFirst) || (i == (Count - 1) && eLast)
                        ? new Thickness(0)
                        : j.Margin = spacing;
                }
            }
        }