Tôi đang gọi Application.Current.Shutdown()
từ một lớp học bị ràng buộc với cửa sổ xaml với ObjectDataProvider
, nhưng ứng dụng không đóng. Bất cứ ai có thể giúp tôi hiểu tại sao? Ứng dụng của tôi không đóng hoàn toàn sau khi cửa sổ chính của tôi đóng, nó không biến mất khỏi danh sách quy trình của trình quản lý tác vụ.Ứng dụng WPF không đóng đúng cách
Trả lời
Bạn đã tạo bất kỳ chủ đề nào để xử lý nền chưa? Nếu bạn có, hãy đảm bảo đặt thuộc tính .IsBackground
trên chúng hoặc chúng có thể giữ cho ứng dụng chạy
Nếu bạn có nhiều cửa sổ hoặc hộp thoại trong ứng dụng của mình, bạn có thể cần phải đóng từng cửa sổ hoặc một cách rõ ràng.
hộp thoại Đóng với:
_myDialog.Close();
Đóng tất cả các cửa sổ:
foreach(var window in Application.Current.Windows.ToList())
{
window.Close();
}
Tôi cố gắng này, nó không giúp đỡ, tôi nhận ra đâu là vấn đề, vấn đề là khi tôi gọi tắt máy() hoặc đóng() việc thực thi objectdataprovider không chấm dứt, tôi nghĩ sẽ tốt hơn nếu thêm một câu hỏi mới , những gì tôi sẽ làm bây giờ :) –
chắc chắn bạn có thể thay thế cho (i ...) với một foreach? lặp lại theo cách thủ công qua các vòng lặp là thế kỷ trước :-) –
Hãy thử Environment.Exit(0)
thay
gọi 'Shutdown()' từ bên trong 'override OnStartup()' KHÔNG hoạt động. 'Environment.Exit (0)' hoạt động –
Đừng quên để thêm video này:
private void Window_Closed(object sender, EventArgs e)
{
Application.Current.Shutdown();
}
Hope this helps.
Tôi đã gặp sự cố tương tự, quá trình đăng ký không dừng lại mặc dù ứng dụng đã đóng.
Trong trường hợp của tôi, tôi mở một cửa sổ từ một BackgroundWorker (mã dưới đây)
BackgroundWorker BG = new BackgroundWorker();
BG.DoWork += new DoWorkEventHandler(BG_DoWork);
StockMinWindow MinWindow = new StockMinWindow(null); -------- this is the problem
BG.RunWorkerAsync();
instanciate cửa sổ trước khi chạy BackgroundWorker dường như không phải là vấn đề nhưng bằng cách xóa dòng ứng dụng đóng một cách chính xác
Tôi mở cửa sổ của mình từ BackgroundWorker nhưng sử dụng Chủ đề chính (mã bên dưới)
View.Dispatcher.BeginInvoke(new Action(delegate()
{
StockMinWindow MinWindow = new StockMinWindow(StockMinList);
MinWindow.Owner = View;
MinWindow.ShowDialog();
}));
Hy vọng điều đó sẽ hữu ích.
Tôi gặp sự cố khi ứng dụng sẽ không tắt ngay cả khi cửa sổ chính bị đóng. Nó bật ra tôi đã thực hiện Hide() trên màn hình splash thay vì Close() vì vậy nó vẫn còn ẩn trong nền giữ ứng dụng còn sống.
- 1. Application.Current.Shutdown (-1) không đóng ứng dụng WPF
- 2. Cách đúng để đóng ứng dụng GUI WPF: GetCurrentProcess(). Kill(), Environment.Exit (0) hoặc this.Shutdown()
- 3. RaceOnRCWCleanup khi đóng các ứng dụng WPF
- 4. Ứng dụng WPF đóng băng Windows 7
- 5. Cách đóng ứng dụng WPF từ menu ngữ cảnh?
- 6. Hỏi người dùng trước khi đóng ứng dụng C# WPF
- 7. Đóng đúng cổng TCP
- 8. Hồ sơ ứng dụng WPF
- 9. Sử dụng MySQLConnection trong C# không đóng đúng
- 10. cách đóng đúng máy chủ nút nhanh?
- 11. Cách đóng ứng dụng JavaFX khi đóng cửa sổ?
- 12. Đóng đúng SSLSocket
- 13. close() không đóng đúng ổ cắm
- 14. Cách đóng ứng dụng khác trong Android?
- 15. ios giả lập: cách đóng ứng dụng
- 16. Đóng các ứng dụng
- 17. Ứng dụng mẫu WPF
- 18. WiX đóng ứng dụng trước khi gỡ cài đặt - đóng ứng dụng đang mở tin nhắn
- 19. Libgdx app.exit() trên Android không đóng ứng dụng
- 20. Dọn dẹp đúng cách các điều khiển người dùng WPF
- 21. Đóng ứng dụng khi internet không khả dụng
- 22. phát hiện khi ứng dụng được đóng
- 23. Cách đóng gói tài nguyên trong Jar đúng
- 24. Cách đóng thẻ <img> đúng cách?
- 25. ứng dụng android không phát hành Bluetooth đúng cách trên lối ra
- 26. Ứng dụng WPF với Ninject
- 27. Sử dụng process.start trong ứng dụng wpf để gọi một ứng dụng wpf khác
- 28. Cách sử dụng FolderBrowserDialog từ một ứng dụng WPF
- 29. Cách sử dụng tệp App.config trong các ứng dụng WPF?
- 30. ứng dụng WPF đóng băng hoàn toàn trong vòng 1 phút
Không, tôi không tạo chủ đề trực tiếp, có thể WPF thực hiện các ràng buộc hoặc tài nguyên objectdataprovider trong chuỗi khác không? –