public void SetViewModel(ComponentTemplateMainPropertiesVM viewModel) { //_viewModel = viewModel; //DataContext = viewModel; //FormulaEditorView.SetViewModel(_viewModel.FormulaEditor); MineralCostFormulaStackLayout.SuspendLayout(); MineralCostFormulaStackLayout.Items.Clear(); foreach (var item in viewModel.MineralCostFormula) { MineralCostFormulaStackLayout.Items.Add(new MineralFormulaView(item)); } viewModel.MineralCostFormula.CollectionChanged += MineralCostFormula_CollectionChanged; MineralCostFormulaStackLayout.ResumeLayout(); MountTypes.SuspendLayout(); MountTypes.Items.Clear(); foreach (var item in viewModel.MountType) { ECSLib.ComponentMountType key = item.Key; CheckBox chkbx = new CheckBox(); chkbx.Text = key.ToString(); //chkbx.CheckedBinding.BindDataContext((DictionaryVM<ECSLib.ComponentMountType, bool?, bool?> x) => x[kvp.Key], (m, val) => m[kvp.Key] = val); chkbx.CheckedBinding.BindDataContext((ObservableDictionary <ECSLib.ComponentMountType, bool?> x) => x[key], (m, val) => m[key] = val); chkbx.DataContext = viewModel.MountType; MountTypes.Items.Add(chkbx); } MountTypes.ResumeLayout(); viewModel.MountType.PropertyChanged += MountType_PropertyChanged; }
private void ComponentTemplateMainPropertiesView_DataContextChanged(object sender, System.EventArgs e) { if (DataContext is ComponentTemplateMainPropertiesVM) { ComponentTemplateMainPropertiesVM dc = (ComponentTemplateMainPropertiesVM)DataContext; SetViewModel(dc); } }
private void MineralCostFormula_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { ComponentTemplateMainPropertiesVM viewModel = (ComponentTemplateMainPropertiesVM)DataContext; MineralCostFormulaStackLayout.Items.Clear(); foreach (var item in viewModel.MineralCostFormula) { MineralCostFormulaStackLayout.Items.Add(new MineralFormulaView(item)); } }