Using system;using system.collections.generic;using system.globalization;using system.linq;using System.Text;using System.threading.tasks;using system.windows;using system.windows.controls.primitives;using System.Windows.Media; Namespace photovolaticradar.client.tools{public class Radartickbar:tickbar {protected override void Onrend ER (drawingcontext dc) {Double tickfrequencysize; Brush Forebrush = this. Fill; Pen Line_pen = new Pen (forebrush, 1); FormattedText font = NULL; Size size = new Size (base. ActualWidth, base. ActualHeight); int tickCount = (int) (this. Maximum-this. Minimum)/this. tickfrequency) + 1; if (this. Maximum-this. Minimum)% this. Tickfrequency = = 0) TickCount-= 1; Tickfrequencysize = (size. Width * this. Tickfrequency/(this. Maximum-this. Minimum)); String text = ""; Double num = this. Maximum-this. Minimum; Incht i = 0; for (i = 0; I <= tickCount; i++) {if (i% 5 = = 0) {text = Convert.ToString (Convert.ToInt32 (this. Minimum + this. Tickfrequency * i), 10); Font = new FormattedText (text, Cultureinfo.getcultureinfo ("en-us"), Flowdirection.lefttoright, New Typeface ("Verdana" ), Forebrush); dc. DrawText (font, New Point ((Tickfrequencysize * i), 20)); dc. DrawLine (Line_pen, New Point ((Tickfrequencysize * i), the new Point ((Tickfrequencysize * i), 64)); } else {DC. DrawLine (Line_pen, New Point ((Tickfrequencysize * i), si), New Point ((Tickfrequencysize * i), 64)); } } } }}
WPF Custom Rulers