Entrer dans le premier projet WPF sérieux. Il semble qu'il manque beaucoup de contrôles de base. Plus précisément, je recherche le contrôle numérique UpDown. Y a-t-il eu une sortie hors groupe que j'ai ratée? Je n'ai vraiment pas envie d'écrire mon propre contrôle.
Je ne veux pas utiliser WindowsFormHost et y placer un ctl WinForm. Je veux que ce soit entièrement WPF sans aucun élément indésirable hérité.
Merci
wpf
controls
numericupdown
updown
AngryHacker
la source
la source
Réponses:
Utilisez simplement le
IntegerUpDown
contrôle dans la boîte à outils xtended wpf Vous pouvez l'utiliser comme ceci:Ajoutez à votre XAML l'espace de noms suivant:
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Dans votre XAML où vous voulez que le contrôle utilise:
<xctk:IntegerUpDown Name="myUpDownControl" />
la source
J'ai fait le mien;
le xaml
et le code derrière
la source
Ceci est un exemple de mon propre UserControl avec capture de touches Haut et Bas.
Code Xaml:
Et le code:
la source
la source
Les réponses données sont OK. Cependant, je voulais que les boutons se masquent automatiquement lorsque la souris quitte le contrôle. Voici mon code basé sur la réponse vercin ci-dessus:
Style
Code
la source
À utiliser
VerticalScrollBar
avec leTextBlock
contrôle dans WPF. Dans votre code derrière, ajoutez le code suivant:Dans le constructeur, définissez un gestionnaire d'événements pour la barre de défilement:
Ensuite, dans le gestionnaire d'événements, ajoutez:
Voici l'extrait de code original de mon code ... apportez les modifications nécessaires .. :)
la source
Vous pouvez utiliser le contrôle NumericUpDown pour WPF écrit par moi dans le cadre de la bibliothèque WPFControls .
la source
Excusez-vous de continuer à répondre aux questions depuis 9 ans
J'ai suivi la réponse de @ Micheal et ça marche.
Je le fais en tant que UserControl où je peux faire glisser et déposer comme des éléments de contrôle. J'utilise le thème MaterialDesign de Nuget pour obtenir l'icône Chevron et l'effet d'ondulation du bouton.
Le NumericUpDown en cours d'exécution de Micheal avec modification sera comme ci-dessous: -
Le code de contrôle utilisateur: -
TemplateNumericUpDown.xaml
TemplateNumericUpDown.cs
Sur MyPageDesign.xaml, le glisser-déposer créé usercontrol aura
<UserControlTemplate:TemplateNumericUpDown HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
Pour obtenir la valeur du modèle, j'utilise
Je ne suis pas encore en mesure de lier la hauteur du contrôle basé sur l'élément FontSize, j'ai donc défini manuellement la taille de la police de ma page dans usercontrol.
** Remarque: - J'ai changé le nom "Archieve" en Archive sur mon programme =)
la source
J'ai une solution naïve mais utile. Voici le code:
la source
Voici un autre contrôle open source qui a de nombreuses méthodes d'entrée différentes (glissement de la souris, molette de la souris, touches de curseur, édition de zone de texte), prend en charge de nombreux types de données et cas d'utilisation:
https://github.com/Dirkster99/NumericUpDownLib
la source
Juste un échantillon pragmatique à faire:
-Cliquez droit sur votre projet (sous Solution), sélectionnez "Gérer les packages nuget ..."
-Dans le menu, cliquez sur l' onglet Parcourir pour rechercher "wpftoolkit", sélectionnez "
Extended.Wpf.Toolkit
"-Installez-le!
-Cliquez droit dans votre boîte à outils de contrôle utilisateur , sélectionnez "Ajouter un onglet" et nommez-le "WPF Toolkit"
-Cliquez droit sur le nouvel onglet "WPF Toolkit", sélectionnez "Choisir les éléments ..."
-Dans le menu, cliquez sur le bouton "Parcourir ...", recherchez le dossier DLL de nugets, sélectionnez tout "
...\packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\*.dll
"Ignorer les avertissements concernant certaines DLL peuvent ne pas contenir de contrôles utilisateur!
Prêt :)
la source
Accédez au gestionnaire NugetPackage de votre projet-> Parcourir et recherchez mahApps.Metro -> installer le package dans votre projet. Vous verrez Référence ajoutée: MahApps.Metro. Ensuite, dans votre code XAML, ajoutez:
"xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
Où vous souhaitez utiliser votre objet, ajoutez:
Profitez de la pleine extensibilité de l'objet (liaisons, déclencheurs, etc.).
la source