private void OpenHandler(object sender, object data) { try { if (Controller.CurrentViewModel.Controller.LegViewModel == this) { LevelSelected = ((LegSectionViewModel)sender).StructureSource[0].Level; CurrentPanelViewModel.TextSaveBTN = "Добавить"; CurrentPanelViewModel.mode = "Add"; CurrentPanelViewModel.TextCancleOrResetBTN = "Вернуться"; ClosePanelCommand = new DelegateCommand(() => { if (_lastSender.SelectedValue == null) { foreach (var structr in _lastSender.StructureSource) { if (structr.Text1 == "" && structr.Text2 == "") { _lastSender.SelectedValue = structr; } } } else { if (_lastSender.ListNumber == 0) { MessageBus.Default.Call("SetAdditionalStructDefault", _lastSender.SelectedValue, null); } else { LegSections[_lastSender.ListNumber - 1].SelectedValue = _lastSender.SelectedValue; } } CurrentPanelViewModel.PanelOpened = false; handled = false; }); if (!handled) { var curPanel = ((LegPartViewModel)Controller.LegViewModel).CurrentPanelViewModel; var currentPart = (LegSectionViewModel)sender; _lastSender = currentPart; _lastSenderType = (Type)data; handled = true; curPanel.PanelOpened = true; } } } catch { CurrentPanelViewModel.PanelOpened = false; handled = false; } }
public LegSectionViewModel(NavigationController controller, LegSectionViewModel prevSection) : base(controller) { IsButtonsEnabled = false; // ClickOnBorder = new DelegateCommand<object>( // (sender) => // { // ComboBox x = sender as ComboBox; // x.MouseDoubleClick.I // x.IsDropDownOpen = true; // } //); ToRedactStruct = new DelegateCommand(() => { // x.SelectedValue // LegSectionViewModel section = x.SelectedValue as LegSectionViewModel; // MessageBus.Default.Call("OpenCustom", this, this.GetType()); MessageBus.Default.Call("OpenStructRedact", this, this.GetType()); } ); LostFocus = new DelegateCommand <object>( (sender) => { if (string.IsNullOrWhiteSpace(((TextBox)sender).Text)) { ((TextBox)sender).Text = "0"; } } ); ClickOnWeight = new DelegateCommand <object>( (sender) => { if (((TextBox)sender).Text == "0") { ((TextBox)sender).Text = ""; } } ); _previousSection = prevSection; if (prevSection != null) { prevSection.PropertyChanged += (e, args) => { if (prevSection.SelectedValue != null) { IsVisible = Visibility.Visible; } else { IsVisible = Visibility.Hidden; }; } } ; StructureSource = new ObservableCollection <LegPartDbStructure>(); var t = StructureSource.GetEnumerator().GetType().GetGenericTypeDefinition(); }
private void OpenStructRedact(object sender, object data) { if (Controller.CurrentViewModel.Controller.LegViewModel == this) { //IsRedactVis = Visibility.Visible; //ISAddVis = Visibility.Collapsed; buff = SavePanelCommand; //var curPanel = ((LegPartViewModel)Controller.LegViewModel).CurrentPanelViewModel; var currentPart = (LegSectionViewModel)sender; LegPartDbStructure structure = currentPart.SelectedValue; LevelSelected = structure.Level; CurrentPanelViewModel.LegPrt = structure; CurrentPanelViewModel.SavedLegPrt = structure; CurrentPanelViewModel.mode = "Edit"; LegPrt = structure; CurrentLegSide = CurrentLegSide; _lastSender = currentPart; _lastSenderType = (Type)data; CurrentPanelViewModel.PanelOpened = true; if (structure.Text1 != null) { CurrentPanelViewModel.Text1 = structure.Text1; } if (structure.Text2 != null) { CurrentPanelViewModel.Text2 = structure.Text2; } if (structure.HasSize) { CurrentPanelViewModel.HasSize = true; foreach (Metrics x in CurrentPanelViewModel.Dimentions) { if (x.Str == structure.Metrics) { CurrentPanelViewModel.SelectedMetricText = x.Str; CurrentPanelViewModel.SelectedMetric = x; } } if (structure.HasDoubleMetric) { CurrentPanelViewModel.HasDoubleSize = true; } } CurrentPanelViewModel.TextSaveBTN = "Вернуться"; CurrentPanelViewModel.TextCancleOrResetBTN = "Сбросить"; ClosePanelCommand = new DelegateCommand(() => { if (structure.Text1 != null) { CurrentPanelViewModel.Text1 = structure.Text1; } else { CurrentPanelViewModel.Text1 = ""; } if (structure.Text2 != null) { CurrentPanelViewModel.Text2 = structure.Text2; } else { CurrentPanelViewModel.Text2 = ""; } if (structure.HasSize) { CurrentPanelViewModel.HasSize = true; foreach (Metrics x in CurrentPanelViewModel.Dimentions) { if (x.Str == structure.Metrics) { CurrentPanelViewModel.SelectedMetricText = x.Str; CurrentPanelViewModel.SelectedMetric = x; } } if (structure.HasDoubleMetric) { CurrentPanelViewModel.HasDoubleSize = true; } } else { CurrentPanelViewModel.SelectedMetricText = ""; CurrentPanelViewModel.HasDoubleSize = false; CurrentPanelViewModel.HasSize = false; } CurrentPanelViewModel.TextSaveBTN = "Вернуться"; }); } }