Einstieg in das erste ernsthafte WPF-Projekt. Es scheint, als ob viele grundlegende Steuerelemente fehlen. Insbesondere suche ich nach dem Numeric UpDown-Steuerelement. Gab es eine Veröffentlichung außerhalb der Band, die ich verpasst habe? Ich habe wirklich keine Lust, meine eigene Kontrolle zu schreiben.
Ich möchte den WindowsFormHost nicht verwenden und eine WinForm-CTL darauf plumpsen. Ich möchte, dass es vollständig WPF ohne alten Müll ist.
Vielen Dank
wpf
controls
numericupdown
updown
AngryHacker
quelle
quelle
Antworten:
Verwenden Sie einfach das
IntegerUpDown
Steuerelement im xtended wpf-Toolkit. Sie können es folgendermaßen verwenden:Fügen Sie Ihrer XAML den folgenden Namespace hinzu:
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
In Ihrer XAML, in der Sie das Steuerelement verwenden möchten, verwenden Sie:
<xctk:IntegerUpDown Name="myUpDownControl" />
quelle
Ich habe meine eigenen gemacht;
das xaml
und der Code dahinter
quelle
Dies ist ein Beispiel für mein eigenes UserControl mit Auf- und Ab-Tasten.
Xaml-Code:
Und der Code:
quelle
quelle
Die gegebenen Antworten sind OK. Ich wollte jedoch, dass die Schaltflächen automatisch ausgeblendet werden, wenn die Maus das Steuerelement verlässt. Hier ist mein Code basierend auf der obigen Antwort von vercin :
Stil
Code
quelle
Verwendung
VerticalScrollBar
mit demTextBlock
Steuerelement in WPF. Fügen Sie in Ihrem Code dahinter den folgenden Code hinzu:Definieren Sie im Konstruktor einen Ereignishandler für die Bildlaufleiste:
Fügen Sie dann im Ereignishandler Folgendes hinzu:
Hier ist das Original-Snippet aus meinem Code ... nimm die notwendigen Änderungen vor .. :)
quelle
Sie können das von mir als Teil der WPFControls- Bibliothek geschriebene NumericUpDown-Steuerelement für WPF verwenden.
quelle
Entschuldigen Sie, dass Sie 9 Jahre lang Fragen beantwortet haben.
Ich habe die Antwort von @ Micheal befolgt und es funktioniert.
Ich mache es als UserControl, wo ich wie ein Controls-Element ziehen und ablegen kann. Ich verwende MaterialDesign Theme von Nuget, um das Chevron-Symbol und den Button-Ripple-Effekt zu erhalten.
Das laufende NumericUpDown von Micheal mit Modifikation wird wie folgt sein: -
Der Code für die Benutzersteuerung: -
TemplateNumericUpDown.xaml
TemplateNumericUpDown.cs
Auf MyPageDesign.xaml wird durch Ziehen und Ablegen eine erstellte Benutzersteuerung erstellt
<UserControlTemplate:TemplateNumericUpDown HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
Um den Wert aus der Vorlage zu erhalten, verwende ich
Ich bin noch nicht in der Lage, die Höhe des Steuerelements basierend auf dem FontSize-Element zu binden. Daher habe ich die Schriftgröße meiner Seite manuell in der Benutzersteuerung festgelegt.
** Hinweis: - Ich habe den Namen "Archieve" in meinem Programm in "Archivieren" geändert =)
quelle
Ich habe eine naive Lösung, aber nützlich. Hier ist der Code:
quelle
Hier ist ein weiteres Open Source-Steuerelement mit vielen verschiedenen Eingabemethoden (Ziehen mit der Maus, Mausrad, Cursortasten, Bearbeiten von Textfeldern), das viele Datentypen und Anwendungsfälle unterstützt:
https://github.com/Dirkster99/NumericUpDownLib
quelle
Nur eine pragmatische Probe:
- Klicken Sie mit der rechten Maustaste auf Ihr Projekt (unter Lösung) und wählen Sie "Nuget-Pakete verwalten ...".
-Im Menü klicken Durchsuchen Tab Suche nach „WPFToolkit“, wählen Sie „
Extended.Wpf.Toolkit
“-Es installieren!
- Klicken Sie mit der rechten Maustaste in Ihre User Control Toolbox , wählen Sie "Tab hinzufügen " und nennen Sie sie "WPF Toolkit".
- Klicken Sie mit der rechten Maustaste auf die neue Registerkarte "WPF Toolkit" und wählen Sie "Elemente auswählen ...".
- Klicken Sie im Menü auf die Schaltfläche "Durchsuchen ...", suchen Sie nach dem DLL-Ordner für Nugets und wählen Sie alle aus.
...\packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\*.dll
"Ignorieren Sie Warnungen zu einigen DLLs, die möglicherweise keine Benutzersteuerelemente enthalten!
Bereit :)
quelle
Gehen Sie zu NugetPackage Manager Ihres Projekts-> Suchen und suchen Sie nach mahApps.Metro -> installieren Sie das Paket in Ihrem Projekt. Sie sehen Referenz hinzugefügt: MahApps.Metro. Fügen Sie dann in Ihrem XAML-Code Folgendes hinzu:
"xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
Wo Sie Ihr Objekt verwenden möchten, fügen Sie hinzu:
Genießen Sie die volle Erweiterbarkeit des Objekts (Bindungen, Trigger usw.).
quelle