Diseño un formulario WPF con Estilo de ventana = Ninguno. Entonces no puedo ver la barra de arrastre en el formulario. ¿Cómo puedo mover el formulario con WindowStyle = None Property?No se puede arrastrar y mover un formulario WPF
Respuesta
Ver this question.
Básicamente se utiliza el método Window.DragMove para esto.
En nuestra aplicación tenemos Windows con WindowStyle establecido en "ninguno", implementamos la funcionalidad para arrastrar la ventana, pero solo desde el encabezado en lugar de desde cualquier punto de la ventana. Hicimos esto agregando un borde como encabezado, luego agregamos un pulgar para llenar todo el borde. Luego manejamos el método DragDelta en el pulgar en el código subyacente para la ventana.
<Border
Name="headerBorder"
Width="Auto"
Height="50"
VerticalAlignment="Top"
CornerRadius="5,5,0,0"
DockPanel.Dock="Top"
Background="{StaticResource BackgroundBrush}"
BorderThickness="1,1,1,1"
BorderBrush="{StaticResource BorderBrush}">
<Grid>
<Thumb
x:Name="headerThumb"
Opacity="0"
Background="{x:Null}"
Foreground="{x:Null}"
DragDelta="headerThumb_DragDelta"/>
</Grid>
</Border>
Luego, en el código subyacente tenemos el siguiente controlador de eventos ...
private void headerThumb_DragDelta(object sender, DragDeltaEventArgs e)
{
Left = Left + e.HorizontalChange;
Top = Top + e.VerticalChange;
}
No sé si esto es mejor que el otro método, es sólo la forma en que hicimos eso.
estoy usando una ventana principal para mantener páginas (creación de un programa de estilo de navegación), y en el código detrás de mi ventana principal, que inserta esta ...
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
// Begin dragging the window
this.DragMove();
}
... y funciona como un encanto. Esto es con windowstyle = none. Es agradable en el sentido de que puede hacer clic en cualquier lugar de la aplicación y moverlo en lugar de limitarse a una barra superior.
ya sea dentro de las ventanas en función de la carga o dentro de la red está en función de la carga usar un deligate para activar el método DragMove() el clic del ratón
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
this.MouseLeftButtonDown += delegate{DragMove();};
}
- 1. Arrastrar un formulario WPF alrededor del escritorio
- 2. jstree mover, arrastrar y soltar
- 3. arrastrar y soltar sin mover el elemento
- 4. Jquery ordenable arrastrar y soltar no muestra el cursor 'mover'
- 5. Qt arrastrar/soltar: no se puede mover cuando la copia está habilitada (Ubuntu Gnome)
- 6. jQuery se puede arrastrar y appendTo no funciona
- 7. Jquery que se puede arrastrar y clon
- 8. JCrop - No se puede mover la selección
- 9. PHP: move_uploaded_file(): No se puede mover '/
- 10. Android: ¿Cómo arrastrar (mover) PopupWindow?
- 11. jQuery que se puede arrastrar: el cuadro que se puede arrastrar pasa por el contenedor - ¿error?
- 12. Arrastrar y colocar directamente desde Outlook a un formulario web
- 13. Visual Studio 2012 - No se puede mover archivos EF .tt
- 14. WPF: No se puede establecer el foco
- 15. SVG se puede arrastrar usando JQuery y Jquery-svg
- 16. Arrastrar y soltar archivos en WPF
- 17. WPF arrastrar y soltar entre contenedores
- 18. Arrastrar y soltar la imagen en la aplicación wpf
- 19. Arrastrar y soltar imagen en un formulario web
- 20. WPF 4 multi-touch arrastrar y soltar
- 21. arrastrar y soltar en winforms o wpf
- 22. Cómo permitir al usuario mover un control en el formulario
- 23. Wpf: Arrastrar y soltar a un cuadro de texto
- 24. jQuery se puede arrastrar y pasar el ratón
- 25. Webkit y jQuery que se puede arrastrar saltando
- 26. No se puede mover una aplicación a la tarjeta SD
- 27. No se puede diseñar completamente un ListBox/Scrollviewer en WPF
- 28. jQueryUI: eliminar correctamente un elemento que se puede arrastrar
- 29. ¿El std :: ofstream se puede mover?
- 30. Arrastrar y soltar en Safari iOS: no arrastrar, no responder para soltar en el escritorio/iPad
En lugar de MouseDown se debe utilizar MouseLeftButtonDown, ya que sólo se puede llamar Arrastre cuando el botón primario del mouse esté desactivado. –
@ DušanKnežević sí, eso es cierto! Salté con una solución para correr rápido. –