Je cherche un contrôle simple de NumericUpDown (aka nombre spinner) dans WPF. Cela semble être un autre manque de contrôle dans WPF. Il doit y en avoir qui existent et je n’aime pas réinventer la roue.
Le toolkit WPF étendu en a un: NumericUpDown
Kevin Moore a créé un contrôle NumericUpDown dans WPF et l’a mis dans son “WPF Bag-o-Tricks”
Vous pouvez trouver des téléchargements ici: http://j832.com/bagosortingcks/
Il a des choses intéressantes là-dedans. Je n’ai pas joué personnellement avec NumericUpDown, mais je pense que cela devrait vous donner ce que vous cherchez.
Je crois qu’il le montre dans sa vidéo “WPF Bootcamp”. Je l’ai d’abord vu ici , mais la vidéo en streaming semble être en panne.
Microsoft dispose d’un « contrôle personnalisé NumericUpDown avec exemple de prise en charge de thème et d’interface utilisateur d’interface utilisateur »
Voici un projet de licence MIT avec une DLL pour un contrôle WPF pour ce que vous décrivez. Il permet de personnaliser les incréments, minimum, maximum et valeur avec une interface similaire à celle du curseur.
Cela peut aider: Saisie de données numériques dans WPF
MahApps a un contrôle NumericUpDown :
Si les solutions commerciales sont acceptables, vous pouvez considérer ce jeu de contrôle: WPF Elements by Mindscape
Il contient un tel contrôle de rotation et (de préférence personnelle) un décorateur de spin, qui peut décorer différents contrôles numériques (comme IntegerTextBox, NumericTextBox, également inclus dans le jeu de contrôles) comme ceci:
append une zone de texte et une barre de défilement
en VB
Private Sub Textbox1_ValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.RoutedPropertyChangedEventArgs(Of System.Double)) Handles Textbox1.ValueChanged If e.OldValue > e.NewValue Then Textbox1.Text = (Textbox1.Text + 1) Else Textbox1.Text = (Textbox1.Text - 1) End If End Sub
Essayez ceci: WPF NumericUpDown de reprogrammer un ScrollBar
Solution complète à l’ adresse http://www.codeproject.com/KB/WPF/NumericUpDownTextBox.aspx
Quelques autres options (commerciales):