wpf - Add value ticks into my Circular Slider -


this circular slider:

<slider name="knobslider" minimum="0" maximum="50" value="1" height="99" width="75"         horizontalalignment="center" verticalalignment="center" grid.column="1">     <slider.template>         <controltemplate>             <viewbox>                 <canvas width="300" height="300" margin="5">                     <ellipse fill="transparent" width="300" height="300" canvas.left="0" canvas.top="0"                              stroke="#ff878889" strokethickness="10"                             mouseleftbuttonup="ellipse_mouseleftbuttonup"                             mousemove="ellipse_mousemove"/>                     <ellipse fill="transparent" width="60" height="60" canvas.left="120" canvas.top="120"/>                     <canvas>                         <line stroke="transparent" strokethickness="5" x1="150" y1="150" x2="150" y2="10"                                 mouseleftbuttonup="ellipse_mouseleftbuttonup"/>                         <ellipse fill="white" width="30" height="30" canvas.left="140" canvas.top="0"                                 mouseleftbuttondown="ellipse_mouseleftbuttondown"                                     mouseleftbuttonup="ellipse_mouseleftbuttonup">                             <ellipse.tooltip>                                 <tooltip>                                     <binding relativesource="{relativesource templatedparent}"                         path="value" converter="{staticresource valuetextconverter}"/>                                 </tooltip>                             </ellipse.tooltip>                         </ellipse>                         <canvas.rendertransform>                             <rotatetransform centerx="150" centery="150">                                 <rotatetransform.angle>                                     <multibinding converter="{staticresource valueangleconverter}">                                         <binding relativesource="{relativesource templatedparent}" path="value"/>                                         <binding relativesource="{relativesource templatedparent}" path="minimum"/>                                         <binding relativesource="{relativesource templatedparent}" path="maximum"/>                                     </multibinding>                                 </rotatetransform.angle>                             </rotatetransform>                         </canvas.rendertransform>                     </canvas>                 </canvas>             </viewbox>         </controltemplate>     </slider.template> </slider>  public class valueangleconverter : imultivalueconverter {     #region imultivalueconverter members      public object convert(object[] values, type targettype, object parameter,                   system.globalization.cultureinfo culture)     {         double value = (double)values[0];         double minimum = (double)values[1];         double maximum = (double)values[2];          return myhelper.getangle(value, maximum, minimum);     }        public object[] convertback(object value, type[] targettypes, object parameter,               system.globalization.cultureinfo culture)         {             throw new notimplementedexception();         }          #endregion     }     public class valuetextconverter : ivalueconverter     {          #region ivalueconverter members          public object convert(object value, type targettype, object parameter,                   system.globalization.cultureinfo culture)         {             double v = (double)value;             return string.format("{0:f2}", v);         }          public object convertback(object value, type targettype, object parameter,             system.globalization.cultureinfo culture)         {             throw new notimplementedexception();         }          #endregion     } 

and results:

enter image description here

is possible change of circular slider similar one:

enter image description here

and add value tick , show current value of controller ad button of control in example instead of put textblock inside circle ?


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -