2013-02-07 3 views
2

Il est facile de redéfinir les valeurs linéaires renvoyées par une commande de curseur WPF:Nonlinear WPF valeurs curseur

public double Multiplier 
{ 
    get 
    { 
    switch ((int)sliderMultiplier.Value) 
    { 
     case 0: return 0.1; 
     case 1: return 0.2; 
     case 2: return 0.5; 
     case 3: return 1; 
     case 4: return 2; 
     case 5: return 5; 
     case 6: return 10; 
     default: throw new ArgumentOutOfRangeException(); 
    } 
    } 
} 

Mais la poignée de curseur, tout en étant traîné, est accompagné d'une info-bulle indiquant la valeur sélectionnée - la unmapped valeur linéaire. Comment puis-je fournir la valeur remappée pour l'affichage? Ou obtenir le curseur pour fournir des valeurs non linéaires directement?

+2

http://joshsmithonwpf.wordpress.com/2007/09/14/modifying-the-auto-tooltip-of-a-slider/ – paul

+0

Poster le lien comme une réponse et je l'accepte il. Ca marche mais OMG c'est tellement hacky! –

Répondre

1

Quelqu'un d'autre a résolu cela (en ce qui concerne les info-bulles). Impossible de trouver un moyen pour que le curseur signale lui-même une plage de valeurs non linéaire.

http://joshsmithonwpf.wordpress.com/2007/09/14/modifying-the-auto-tooltip-of-a-slider/

+0

Cela fonctionne, ce qui est beaucoup mieux que rien. Le fait que ce soit un hack si moche peut me motiver à construire un meilleur curseur, probablement avec un événement de remappage. Ce ne serait pas un si mauvais résultat, alors merci beaucoup! –