コード例 #1
0
        public RackAccessoriesDialog(RackAccessories_ViewModel vm)
        {
            InitializeComponent();

            m_VM        = vm;
            DataContext = m_VM;

            if (CurrentTheme.CurrentColorTheme != null)
            {
                CurrentTheme.CurrentColorTheme.ApplyTheme(this.Resources);
            }
        }
コード例 #2
0
        //=============================================================================
        private async void RackAccessoriesButton_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;
            }

            RackAccessories rackAcc = selectedRack.Accessories.Clone() as RackAccessories;

            if (rackAcc == null)
            {
                return;
            }
            RackAccessories_ViewModel vm            = new RackAccessories_ViewModel(rackAcc);
            RackAccessoriesDialog     rackAccDialog = new RackAccessoriesDialog(vm);

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

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