Entrar en el primer proyecto serio de WPF. Parece que faltan muchos controles básicos. Específicamente, estoy buscando el control numérico UpDown. ¿Hubo un lanzamiento fuera de banda que me perdí? Realmente no tengo ganas de escribir mi propio control.
No quiero usar WindowsFormHost y colocar un WinForm ctl en él. Quiero que sea completamente WPF sin ningún tipo de basura heredada.
Gracias
wpf
controls
numericupdown
updown
AngryHacker
fuente
fuente
Respuestas:
Simplemente use el
IntegerUpDown
control en el kit de herramientas xtended wpf . Puede usarlo así:Agregue a su XAML el siguiente espacio de nombres:
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
En su XAML donde desea usar el control:
<xctk:IntegerUpDown Name="myUpDownControl" />
fuente
Hice el mío;
el xaml
y el código detrás
fuente
Este es un ejemplo de mi propio UserControl con captura de teclas arriba y abajo.
Código Xaml:
Y el codigo:
fuente
fuente
Las respuestas dadas están bien. Sin embargo, quería que los botones se ocultaran automáticamente cuando el mouse dejara el control. Aquí está mi código basado en la respuesta de vercin anterior:
Estilo
Código
fuente
Usar
VerticalScrollBar
con elTextBlock
control en WPF. En su código detrás, agregue el siguiente código:En el constructor, defina un controlador de eventos para la barra de desplazamiento:
Luego, en el controlador de eventos, agregue:
Aquí está el fragmento original de mi código ... haga los cambios necesarios ... :)
fuente
Puede usar el control NumericUpDown para WPF escrito por mí como parte de la biblioteca WPFControls .
fuente
Discúlpate por seguir respondiendo preguntas de 9 años.
He seguido la respuesta de @ Micheal y funciona.
Lo hago como UserControl donde puedo arrastrar y soltar como elementos de controles. Uso el tema MaterialDesign de Nuget para obtener el icono de Chevron y el efecto de ondulación de los botones.
El NumericUpDown en ejecución de Micheal con modificación será el siguiente:
El código para el control del usuario: -
TemplateNumericUpDown.xaml
TemplateNumericUpDown.cs
En MyPageDesign.xaml, arrastrar y soltar el control de usuario creado tendrá
<UserControlTemplate:TemplateNumericUpDown HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
Para obtener el valor de la plantilla, uso
Todavía no estoy en buenas habilidades para vincular la altura del control basado en el elemento FontSize, por lo que configuré el tamaño de fuente de mi página manualmente en el control del usuario.
** Nota: - He cambiado el nombre "Archivar" a Archivar en mi programa =)
fuente
Tengo una solución ingenua pero útil. Aquí está el código:
fuente
Aquí hay otro control de código abierto que tiene muchos métodos de entrada diferentes (arrastre del mouse, rueda del mouse, teclas del cursor, edición de cuadros de texto), admite muchos tipos de datos y casos de uso:
https://github.com/Dirkster99/NumericUpDownLib
fuente
Solo una muestra pragmática para hacer:
-Haga clic derecho en su proyecto (en Solución), seleccione "Administrar paquetes nuget ..."
-En el menú, haga clic en la pestaña Examinar busque "wpftoolkit", seleccione "
Extended.Wpf.Toolkit
"-¡Instalarlo!
-Haga clic derecho en su Caja de herramientas de control de usuario , seleccione "Agregar pestaña .." y asígnele el nombre "Kit de herramientas WPF"
-Haga clic derecho en la nueva pestaña "WPF Toolkit", seleccione "Elegir elementos ..."
-En el menú, haga clic en el botón "Examinar ...", busque la carpeta DLL de nugets, seleccione todo "
...\packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\*.dll
"¡Ignore las advertencias sobre algunas DLL que pueden no contener controles de usuario!
Listo :)
fuente
Vaya al administrador de NugetPackage de su proyecto-> Examinar y busque mahApps.Metro -> instale el paquete en su proyecto. Verá Referencia agregada: MahApps.Metro. Luego en su código XAML agregue:
"xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
Donde quiera usar su objeto, agregue:
Disfrute de la extensibilidad completa del objeto (enlaces, disparadores, etc.).
fuente