public RackLevelAccessoriesDialog(RackLevelAccessoriesDialog_ViewModel vm)
        {
            InitializeComponent();

            m_VM        = vm;
            DataContext = m_VM;

            if (CurrentTheme.CurrentColorTheme != null)
            {
                CurrentTheme.CurrentColorTheme.ApplyTheme(this.Resources);
            }
        }
Ejemplo n.º 2
0
        //=============================================================================
        private async void LevelAccessoriesButton_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;

            if (btn == null)
            {
                return;
            }

            MainWindow_ViewModel mainVM = btn.DataContext as MainWindow_ViewModel;

            if (mainVM == null)
            {
                return;
            }

            DrawingDocument curDoc = mainVM.CurrentDocument;

            if (curDoc == null)
            {
                return;
            }

            DrawingSheet curSheet = curDoc.CurrentSheet;

            if (curSheet == null)
            {
                return;
            }

            if (curSheet.SelectedGeometryCollection.Count != 1)
            {
                return;
            }

            Rack selectedRack = curSheet.SelectedGeometryCollection[0] as Rack;

            if (selectedRack == null)
            {
                return;
            }

            RackLevel selectedLevel = selectedRack.SelectedLevel;

            if (selectedLevel == null)
            {
                return;
            }

            // clone accessories value
            RackLevelAccessories accValue = selectedLevel.Accessories.Clone() as RackLevelAccessories;

            if (accValue == null)
            {
                return;
            }
            accValue.Owner = selectedLevel;
            RackLevelAccessoriesDialog_ViewModel vm             = new RackLevelAccessoriesDialog_ViewModel(accValue, selectedRack.ShowPallet);
            RackLevelAccessoriesDialog           levelAccDialog = new RackLevelAccessoriesDialog(vm);

            //show the dialog
            // true - OK
            // false - CANCEL
            var result = await DialogHost.Show(levelAccDialog);

            if (result is bool && (bool)result)
            {
                if (selectedLevel.Accessories != vm.Accessories)
                {
                    selectedLevel.Accessories = vm.Accessories;
                }
            }
        }