private static void onButtonLabelTemplateChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            Segment4x4ButtonLabels templateType = (Segment4x4ButtonLabels)e.NewValue;
            Segment4x4             control      = (Segment4x4)sender;

            control.setButtonLabels(templateType);
        }
        private void setButtonLabels(Segment4x4ButtonLabels templateType)
        {
            if (templateType == Segment4x4ButtonLabels.Custom)
            {
                return;
            }

            if (templateType == Segment4x4ButtonLabels.CricketFrontPanel)
            {
                ButtonLabels = new ObservableCollection <object>()
                {
                    null, null, null, null,
                    "Home", buildStackPanel("T/L", "-"), buildRotatedArrow(0), buildStackPanel("B/R", "+"),
                    "Config", buildRotatedArrow(270), "Auto", buildRotatedArrow(90),
                    "Health", buildStackPanel("Undo", "Cancel"), buildRotatedArrow(180), buildStackPanel("Save", "Ok")
                };
            }
            else if (templateType == Segment4x4ButtonLabels.X20ConsoleKeyFrameTop)
            {
                ButtonLabels = new ObservableCollection <object>()
                {
                    null, "OFF", "PVW", "PGM",
                    buildStackPanel("Size", "Pos"), buildStackPanel("Border", "Size/", "Color"), buildStackPanel("Border", "Type"), "Shadow",
                    "Crop", null, null, null,
                    "AutoSync", "Levels", buildStackPanel("Color", "Key"), buildStackPanel("Luma", "Key")
                };
            }
            else if (templateType == Segment4x4ButtonLabels.X20ConsoleKeyFrameBottom)
            {
                ButtonLabels = new ObservableCollection <object>()
                {
                    "OSD", buildStackPanel("Input", "Config"), buildStackPanel("Aspect", "Ratio"), buildStackPanel("Script", "Preview"),
                    buildRotatedArrow(180), buildRotatedArrow(0), "-", "+",
                    null, null, null, null,
                    null, null, null, null
                };
            }
            else if (templateType == Segment4x4ButtonLabels.X20ConsoleSelectorTop)
            {
                ButtonLabels = new ObservableCollection <object>()
                {
                    null, null, null, null,
                    "Effect", buildStackPanel("DDR", "VTR"), "Layout", "Trans",
                    buildStackPanel("CMD", "Key"), "Treat", "Source", buildStackPanel("Func", "Key"),
                    "Store", "Bank", "Edit", "Delete"
                };
            }
            else if (templateType == Segment4x4ButtonLabels.X20ConsoleSelectorBottom)
            {
                ButtonLabels = new ObservableCollection <object>()
                {
                    buildStackPanel("7 <<", "INS"), buildStackPanel("8 #", "MOD"), buildStackPanel("9 >>", "DEL"), "Undo",
                    buildStackPanel("4 <", "HTM"), buildStackPanel("5 $", "TR TM"), buildStackPanel("6 >", "TRAJ"), "Redo",
                    buildStackPanel("1 -", "<-"), buildStackPanel("2 V", "VIEW"), buildStackPanel("3 +", "->"), buildStackPanel("Program", "Take"),
                    buildStackPanel("Clear", "FREE"), buildStackPanel("0 S", "LOOP"), buildStackPanel("Enter", "NEXT"), buildStackPanel("Preview", "Take")
                };
            }
        }