public SpecialActionEditor(int deviceNum, ProfileList profileList, DS4Windows.SpecialAction specialAction = null) { InitializeComponent(); triggerBoxes = new List <CheckBox>() { crossTrigCk, circleTrigCk, squareTrigCk, triangleTrigCk, optionsTrigCk, shareTrigCk, upTrigCk, downTrigCk, leftTrigCk, rightTrigCk, psTrigCk, l1TrigCk, r1TrigCk, l2TrigCk, r2TrigCk, l3TrigCk, r3TrigCk, leftTouchTrigCk, upperTouchTrigCk, multitouchTrigCk, rightTouchTrigCk, lsuTrigCk, lsdTrigCk, lslTrigCk, lsrTrigCk, rsuTrigCk, rsdTrigCk, rslTrigCk, rsrTrigCk, swipeUpTrigCk, swipeDownTrigCk, swipeLeftTrigCk, swipeRightTrigCk, tiltUpTrigCk, tiltDownTrigCk, tiltLeftTrigCk, tiltRightTrigCk, }; unloadTriggerBoxes = new List <CheckBox>() { unloadCrossTrigCk, unloadCircleTrigCk, unloadSquareTrigCk, unloadTriangleTrigCk, unloadOptionsTrigCk, unloadShareTrigCk, unloadUpTrigCk, unloadDownTrigCk, unloadLeftTrigCk, unloadRightTrigCk, unloadPsTrigCk, unloadL1TrigCk, unloadR1TrigCk, unloadL2TrigCk, unloadR2TrigCk, unloadL3TrigCk, unloadR3TrigCk, unloadLeftTouchTrigCk, unloadUpperTouchTrigCk, unloadMultitouchTrigCk, unloadRightTouchTrigCk, unloadLsuTrigCk, unloadLsdTrigCk, unloadLslTrigCk, unloadLsrTrigCk, unloadRsuTrigCk, unloadRsdTrigCk, unloadRslTrigCk, unloadRsrTrigCk, unloadSwipeUpTrigCk, unloadSwipeDownTrigCk, unloadSwipeLeftTrigCk, unloadSwipeRightTrigCk, unloadTiltUpTrigCk, unloadTiltDownTrigCk, unloadTiltLeftTrigCk, unloadTiltRightTrigCk, }; specialActVM = new SpecialActEditorViewModel(deviceNum, specialAction); macroActVM = new MacroViewModel(); launchProgVM = new LaunchProgramViewModel(); loadProfileVM = new LoadProfileViewModel(profileList); pressKeyVM = new PressKeyViewModel(); disconnectBtVM = new DisconnectBTViewModel(); checkBatteryVM = new CheckBatteryViewModel(); multiActButtonVM = new MultiActButtonViewModel(); saSteeringWheelVM = new SASteeringWheelViewModel(); // Hide tab headers. Tab content will still be visible blankActTab.Visibility = Visibility.Collapsed; macroActTab.Visibility = Visibility.Collapsed; launchProgActTab.Visibility = Visibility.Collapsed; loadProfileTab.Visibility = Visibility.Collapsed; pressKetActTab.Visibility = Visibility.Collapsed; disconnectBTTab.Visibility = Visibility.Collapsed; checkBatteryTab.Visibility = Visibility.Collapsed; multiActTab.Visibility = Visibility.Collapsed; sixaxisWheelCalibrateTab.Visibility = Visibility.Collapsed; if (specialAction != null) { LoadAction(specialAction); } actionTypeTabControl.DataContext = specialActVM; actionTypeCombo.DataContext = specialActVM; actionNameTxt.DataContext = specialActVM; triggersListView.DataContext = specialActVM; macroActTab.DataContext = macroActVM; launchProgActTab.DataContext = launchProgVM; loadProfileTab.DataContext = loadProfileVM; pressKetActTab.DataContext = pressKeyVM; disconnectBTTab.DataContext = disconnectBtVM; checkBatteryTab.DataContext = checkBatteryVM; multiActTab.DataContext = multiActButtonVM; sixaxisWheelCalibrateTab.DataContext = saSteeringWheelVM; SetupLateEvents(); }