void UpdateMarks()
 {
                 #if XWT_GTK3
     Widget.ClearMarks();
     if (SnapToTicks)
     {
         if (MinimumValue >= 0)
         {
             var ticksCount = (int)((MaximumValue - MinimumValue) / StepIncrement) + 1;
             for (int i = 0; i < ticksCount; i++)
             {
                 Widget.AddMark(MinimumValue + (i * StepIncrement), Gtk.PositionType.Bottom, null);
             }
         }
         else if (MaximumValue <= 0)
         {
             var ticksCount = (int)((MaximumValue - MinimumValue) / StepIncrement) + 1;
             for (int i = 0; i < ticksCount; i++)
             {
                 Widget.AddMark(-(i * StepIncrement), Gtk.PositionType.Bottom, null);
             }
         }
         else if (MinimumValue < 0)
         {
             var ticksCount = (int)(MaximumValue / StepIncrement) + 1;
             for (int i = 0; i < ticksCount; i++)
             {
                 Widget.AddMark(i * StepIncrement, Gtk.PositionType.Bottom, null);
             }
             var ticksCountN = (int)(Math.Abs(MinimumValue) / StepIncrement) + 1;
             for (int i = 1; i < ticksCountN; i++)
             {
                 Widget.AddMark(-(i * StepIncrement), Gtk.PositionType.Bottom, null);
             }
         }
     }
                 #endif
 }