private void InitializeConsumerConfigurationPanel(ConsumerConfigViewModel consumerConfigViewModel, ConsumerTemplate consumer) { consumerConfigViewModel.Current = consumer; consumerConfigViewModel.ParamPanel.SetDescriptors(consumer?.Factory as IParameterPresentAdapter, AsGroup(consumer?.Factory.GetParameters(consumer.Clz))); InvalidateScrollInfo(); IsLayoutDirty = IsLoaded; }
private void AppendConsumerConfig(TemplateWithArgs <ConsumerTemplate> consumer = null) { var viewModel = new ConsumerConfigViewModel(GetConsumerList(_deviceType)); viewModel.ComboBox.SelectionChanged += ConsumerComboBox_OnSelectionChanged; viewModel.ComboBox.FindAndSelectFirstByString(consumer?.Template.Identifier, 0); viewModel.ParamPanel.Context = consumer?.Args ?? EmptyContext.Instance; viewModel.ParamPanel.LayoutChanged += ConfigurationPanel_OnLayoutChanged; _consumerViewModels.AddLast(viewModel); ConsumersStackPanel.Children.Add(viewModel.Container); if (_consumerViewModels.Count >= MaxConsumerCount) { AppendConsumerButton.IsEnabled = false; AppendConsumerButton.Content = "MAX"; } }