Пример #1
0
        private void CreateInitializationList(object sender, RoutedEventArgs e)
        {
            //Validate Inputs
            if (!IsValidInputs())
            {
                return;
            }

            //Reset
            InitializationList.Clear();
            InitializationPanel.Children.Clear();

            //Add vertical Line for start day
            Grid verticalLine = ShapeService.GetVerticalLineWithNumber(0);

            InitializationPanel.Children.Add(verticalLine);

            //Set DefaultType
            DefaultType = DefaultHouseTypeIsActive.IsChecked == true
                ? HouseType.Аctive
                : HouseType.Inactive;

            //Set DefaultUrlPicture
            DefaultUrlPicture = DefaultType == HouseType.Аctive
                ? UrlPicture.ACTIVE_HOUSE
                : UrlPicture.INACTIVE_HOUSE;

            //Set NumberOfElements
            NumberOfElements = int.Parse(NumberOfHouses.Text);

            for (int i = 0; i < NumberOfElements; i++)
            {
                InitializationList.Add(new House
                {
                    Number     = i + 1,
                    UrlPicture = DefaultUrlPicture,
                    HouseType  = DefaultType,
                });

                StackPanel wrapper = new StackPanel();

                Grid    horizontalLine = ShapeService.GetHorizontalLineWithNumber(i + 1);
                Image   image          = ShapeService.GetImage();
                Binding binding        = new Binding();
                binding.Source = InitializationList;
                binding.Path   = new PropertyPath($"[{i}].UrlPicture");
                image.SetBinding(Image.SourceProperty, binding);
                Button button = ShapeService.GetButton();
                button.Click           += ReverseImage;
                button.CommandParameter = i;

                wrapper.Children.Add(horizontalLine);
                wrapper.Children.Add(image);
                wrapper.Children.Add(button);

                InitializationPanel.Children.Add(wrapper);
            }
        }