private void InitCodeFolding(ScintillaWPF ScintillaNet) { ScintillaNet.SetFoldMarginColor(true, IntToMediaColor(BACK_COLOR)); ScintillaNet.SetFoldMarginHighlightColor(true, IntToMediaColor(BACK_COLOR)); // Enable code folding ScintillaNet.SetProperty("fold", "1"); ScintillaNet.SetProperty("fold.compact", "1"); // Configure a margin to display folding symbols ScintillaNet.Margins[FOLDING_MARGIN].Type = MarginType.Symbol; ScintillaNet.Margins[FOLDING_MARGIN].Mask = Marker.MaskFolders; ScintillaNet.Margins[FOLDING_MARGIN].Sensitive = true; ScintillaNet.Margins[FOLDING_MARGIN].Width = 20; // Set colors for all folding markers for (int i = 25; i <= 31; i++) { ScintillaNet.Markers[i].SetForeColor(IntToColor(BACK_COLOR)); // styles for [+] and [-] ScintillaNet.Markers[i].SetBackColor(IntToColor(FORE_COLOR)); // styles for [+] and [-] } // Configure folding markers with respective symbols ScintillaNet.Markers[Marker.Folder].Symbol = CODEFOLDING_CIRCULAR ? MarkerSymbol.CirclePlus : MarkerSymbol.BoxPlus; ScintillaNet.Markers[Marker.FolderOpen].Symbol = CODEFOLDING_CIRCULAR ? MarkerSymbol.CircleMinus : MarkerSymbol.BoxMinus; ScintillaNet.Markers[Marker.FolderEnd].Symbol = CODEFOLDING_CIRCULAR ? MarkerSymbol.CirclePlusConnected : MarkerSymbol.BoxPlusConnected; ScintillaNet.Markers[Marker.FolderMidTail].Symbol = MarkerSymbol.TCorner; ScintillaNet.Markers[Marker.FolderOpenMid].Symbol = CODEFOLDING_CIRCULAR ? MarkerSymbol.CircleMinusConnected : MarkerSymbol.BoxMinusConnected; ScintillaNet.Markers[Marker.FolderSub].Symbol = MarkerSymbol.VLine; ScintillaNet.Markers[Marker.FolderTail].Symbol = MarkerSymbol.LCorner; // Enable automatic folding ScintillaNet.AutomaticFold = (AutomaticFold.Show | AutomaticFold.Click | AutomaticFold.Change); }