示例#1
0
        public MainWindowViewModel()
        {
            //список моделей с данными, получаемых из yaml
            var controls = YamlDriver.GetObjects(@"..\..\Resources\YamlConfig.yaml");

            ControlsList = new ObservableCollection <TextBoxControlViewModel>();

            //только текстбоксы в коллекции
            foreach (var control in controls)
            {
                TextBoxEx = new TextBoxControlViewModel(control as TextBoxModel);
                ControlsList.Add(TextBoxEx);
            }
        }
示例#2
0
        public void GenerateLayout()
        {
            var controls = YamlDriver.GetObjects(@"..\..\Resources\YamlConfig.yaml");

            var currentRow = 0;

            foreach (var control in controls)
            {
                switch (control.GetType().Name)
                {
                case "TextBoxModel":
                {
                    //создаем TextBoxControlView
                    var textBoxControlView      = new TextBoxControlView();
                    var textBoxControlViewModel = new TextBoxControlViewModel(control as TextBoxModel);
                    textBoxControlView.DataContext = textBoxControlViewModel;

                    //пихаем TextBoxControlView в коллекцию
                    UIControlsList.Add(textBoxControlView);

                    //пихаем TextBoxControlView на форму
                    DataGrid.RowDefinitions.Add(new RowDefinition());
                    DataGrid.Children.Add(textBoxControlView);
                    Grid.SetRow(textBoxControlView, currentRow);

                    break;
                }

                case "CheckBoxModel":
                {
                    var checkBoxControlView      = new CheckBoxControlView();
                    var checkBoxControlViewModel = new CheckBoxControlViewModel(control as CheckBoxModel);
                    checkBoxControlView.DataContext = checkBoxControlViewModel;

                    UIControlsList.Add(checkBoxControlView);

                    DataGrid.RowDefinitions.Add(new RowDefinition());
                    DataGrid.Children.Add(checkBoxControlView);
                    Grid.SetRow(checkBoxControlView, currentRow);

                    break;
                }

                case "RadioButtonGroupModel":
                {
                    var buttonGroupControlView           = new RadioButtonGroupControlView();
                    var radioButtonGroupControlViewModel =
                        new RadioButtonGroupControlViewModel(control as RadioButtonGroupModel);
                    buttonGroupControlView.DataContext = radioButtonGroupControlViewModel;



                    UIControlsList.Add(buttonGroupControlView);

                    DataGrid.RowDefinitions.Add(new RowDefinition());
                    DataGrid.Children.Add(buttonGroupControlView);
                    Grid.SetRow(buttonGroupControlView, currentRow);

                    break;
                }
                }

                ++currentRow;
            }
        }