Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 19424|Απάντηση: 0

[WPF] Το WPF κλείνει παράθυρα και διαδικασίες

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 8/12/2015 1:02:23 μ.μ. | | |
Πολλοί άνθρωποι πιστεύουν ότι το κλείσιμο μιας εφαρμογής πρέπει να είναι απλό, όπως μια Application.Exit() σε μια φόρμα Windows. Η μέθοδος μπορεί να λύσει το πρόβλημα, αλλά μην την κάνετε κατάχρηση στο WPF, επειδή η κλάση Application δεν έχει αυτήν τη μέθοδο στο WPF, αλλά υπάρχει ένα πρόγραμμα οδήγησης συμβάντων Exit και το κλείσιμο του προγράμματος στην εφαρμογή WPF δίνει μεγάλη προσοχή:

Το κλείσιμο σε μια εφαρμογή WPF έχει τη ρύθμιση ιδιότητας ShutdownMode, με τις τιμές των 3 τύπων απαρίθμησης:

1) OnLastWindowΚλείστε την εφαρμογή όταν κλείσει η τελευταία φόρμα

2) OnMainWindowΚλείστε την εφαρμογή όταν κλείσει η κύρια φόρμα της εφαρμογής

3) Το OnExplicitShutdown εμφανίζει την κλήση κλειστή

Στη λειτουργία OnExplicitShutdown, πρέπει να εμφανίζεται η μέθοδος ShutDown που καλεί την παρουσία της εφαρμογής

Για παράδειγμα: Application.Current.Shutdown(-1); Εδώ το Application.Current επιστρέφει την τρέχουσα παρουσία εφαρμογής της τρέχουσας εφαρμογής.

         Σημειώστε ότι τα παραπάνω δεν ισχύουν για το XBAP, το οποίο κλείνει αυτόματα όταν κλείσει το πρόγραμμα περιήγησης.

  1. <Window x:Class="WpfFistDemo.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         Title="MainWindow" Height="350" Width="525" Loaded="windows_load" Closing="Window_Closing" >
  5.     <Grid>

  6.     </Grid>
  7. </Window>
Αντιγραφή κώδικα
  1. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  2.         {
  3.             System.Environment.Exit(System.Environment.ExitCode);
  4.         }
Αντιγραφή κώδικα
Εάν το παράθυρο ξεκινά ένα υπονήμα: Application.Current.Shutdown(); Δεν τερματίζει τη διαδικασία της εφαρμογής, System.Environment.Exit(System.Environment.ExitCode); Αυτό θα κλείσει όλες τις διαδικασίες του παιδιού και θα τερματίσει τη διαδικασία!





Προηγούμενος:Ρυθμίσεις WPF και λήψη παραμέτρων εκκίνησης
Επόμενος:Το .net υλοποιεί έναν απλό διακομιστή ιστού χρησιμοποιώντας το HttpListener
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com