Projektuję formularz WPF z Window Style = None. Tak więc nie widzę paska przeciągania w formularzu. Jak mogę przenieść formularz za pomocą właściwości WindowStyle = None?Nie można przeciągać i przenosić formularza WPF
Odpowiedz
Zobacz this question.
Zasadniczo używa się do tego metody Window.DragMove.
W naszej aplikacji mamy Windows z WindowStyle ustawionym na "none", zaimplementowaliśmy funkcjonalność przeciągania okna, ale tylko z nagłówka, a nie z dowolnego punktu w oknie. Zrobiliśmy to, dodając obramowanie jako nagłówek, a następnie dodając kciuk, aby wypełnić całą ramkę. Następnie posługujemy się metodą DragDelta na kciuku w kodzie za Windowsem.
<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>
Następnie w kodzie opóźnieniem mamy następujące obsługi zdarzeń ...
private void headerThumb_DragDelta(object sender, DragDeltaEventArgs e)
{
Left = Left + e.HorizontalChange;
Top = Top + e.VerticalChange;
}
Nie wiem, czy to jest lepiej niż inne metody, to po prostu sposób, w jaki zrobił to.
Używam okna głównego do przechowywania stron (tworzenie programu styl nawigacji), a w kodzie za mojego okna głównego, wprowadziłem ten ...
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
// Begin dragging the window
this.DragMove();
}
... i to działa jak urok. Jest to z windowstyle = none. To miłe w tym sensie, że można kliknąć w dowolnym miejscu na aplikacji i przenieść go, zamiast po prostu ogranicza się do górnego paska.
zarówno wewnątrz okna w funkcji obciążenia lub wewnątrz sieci jest na funkcji obciążenia użyć deligate wywołać metodę DragMove() na myszy kliknij
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
this.MouseLeftButtonDown += delegate{DragMove();};
}
- 1. Interfejs Jquery UI można sortować i przeciągać
- 2. Nie można przeciągać elementów w elemencie iframe
- 3. Czy można przenosić z char?
- 4. Dlaczego nie można przenosić własności generycznych na ograniczenie generyczne?
- 5. Dlaczego nie mogliśmy przenosić iteratorów?
- 6. Jak przeciągać i upuszczać z wieloma czynnościami?
- 7. Jak przeciągać i upuszczać pliki w aplikacji?
- 8. Zrób UIView przeciągać palcem
- 9. Jak przeciągać i upuszczać pliki do JTable?
- 10. WPF: Nie można ustawić ostrości
- 11. połączenie dwóch konstruktorów że kopiować i przenosić
- 12. Przewodniki przy przenoszeniu pudełek jquery-ui, które można przeciągać
- 13. Nie można wysłać formularza reagować-bootstrap
- 14. Nie można wysłać formularza pocztowego w Javie
- 15. Nie mogę przenosić kart w PHP Storm
- 16. C# wpf - nie można ustawić zarówno DisplayMemberPath, jak i ItemTemplate
- 17. Jak przenosić elementy listy?
- 18. przeciągnij i upuść w WinForm lub wpf
- 19. przeciągać ikony do ekranu głównego
- 20. WPF: Jak przypisać zdarzenie click do formularza
- 21. Przenosić własność w kontenerach STL?
- 22. Programowo dodawać formanty do formularza WPF
- 23. Nie można utworzyć pełnoekranowego wyskakującego okna WPF
- 24. C# WPF Nie można uzyskać okna nadrzędnego
- 25. JQuery przeciągać obraz z zapisanej pozycji
- 26. Jak przeciągać i przewijać w div z jQuery
- 27. Jak przeciągać i upuszczać wiersze DataGridView pod sobą?
- 28. Ustawienie $ invalid i $ error nie unieważnia formularza
- 29. Nie można przenosić załączników poprzez przesyłanie kendo z jednego widoku do innego widoku
- 30. Jak przenosić tekst wokół obrazu reagując natywnie
Zamiast MouseDown należy użyć MouseLeftButtonDown, jak można wywołać tylko DragMove, gdy główny przycisk myszy jest wyłączony. –
@ DušanKnežević Tak, to prawda! Wskoczyłem z rozwiązaniem, aby dać mu szybki bieg. –