public Policy(SecurityPolicy policy)
        {
            this.InitializeComponent();

            this.labelName.Content = policy.Name;

            this.Background = new SolidColorBrush(UiHelpers.GetPolicyColor(policy));
        }
        public GroupContainer(Junos.SecurityPoliciesGroup group)
        {
            this.InitializeComponent();

            this.labelName.Content = group.Name;

            this.policyContainer.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(1, GridUnitType.Star)
            });
            for (int i = 0; i < group.Policies.Count(); i++)
            {
                this.policyContainer.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(24)
                });
            }

            int index = 0;

            foreach (var item in group.Policies)
            {
                var element = new Policy(item)
                {
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment   = VerticalAlignment.Top,
                    Height = 24
                };

                this.policyContainer.Children.Add(element);
                Grid.SetColumn(element, 0);
                Grid.SetRow(element, index++);
            }

            this.policyContainer.Height = group.Policies.Count() * 24;

            if (group.Policies.All(p => p.Action == group.Policies.First().Action))
            {
                this.Background = new SolidColorBrush(UiHelpers.GetPolicyColor(group.Policies.First()));
            }
        }