2010-08-30 29 views
16

Tôi đang chuyển đổi một ứng dụng biểu mẫu cửa sổ sang ứng dụng WPF. Có cách nào để có được những thứ như, Đường dẫn khởi động, Đường dẫn dữ liệu ứng dụng người dùng, Đường dẫn dữ liệu ứng dụng chung, v.v. mà không tham chiếu System.Windows.Forms không?Tương đương WPF với "System.Windows.Forms.Application.X" để lấy đường dẫn khởi động, đường dẫn dữ liệu ứng dụng, v.v ... là gì?

Trước đây, tôi đã sử dụng System.Windows.Forms.Application.StartupPath, nhưng đối tượng System.Windows.Application.Current không chứa cùng thông tin.

Trả lời

13

Bạn có thể muốn xem System.Environment.GetFolderPath.

Các giá trị của SpecialFolder enum rất nhiều:

 
ApplicationData 
CommonApplicationData 
CommonProgramFiles 
Cookies 
Desktop 
DesktopDirectory 
Favorites 
History 
InternetCache 
LocalApplicationData 
MyComputer 
MyDocuments 
MyMusic 
MyPictures 
Personal 
ProgramFiles 
Programs 
Recent 
SendTo 
StartMenu 
Startup 
System 
Templates 

Có phải đó là hữu ích không?

+0

Chính xác những gì tôi cần. Cảm ơn mọi người. – bporter

2

Bạn có thể sử dụng lớp Môi trường để có được tất cả các loại thông tin hệ thống. Đối với các thư mục, sử dụng phương thức Environment.GetFolderPath.

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 
+0

Không sử dụng tính năng này để lưu trữ dữ liệu người dùng, vì trạng thái Summery: 'Thư mục hồ sơ của người dùng. Ứng dụng không được tạo tệp hoặc thư mục ở cấp này; họ nên đặt dữ liệu của họ theo các địa điểm được gọi bởi System.Environment.SpecialFolder.ApplicationData. Đã thêm trong .NET Framework 4.' – CularBytes

0

Tôi hiểu và đồng ý rằng tham khảo để System.Windows.Forms.dll trông xấu xí nhưng tôi nghĩ đó là tốt hơn sau đó giảm đang tái sử dụng và tái phát minh xe đạp thay vì chỉ là một tài liệu tham khảo hơn.

tôi sử dụng ví dụ System.Windows.Forms.Application.ProductVersion trong giao diện điều khiển ứng dụng của tôi, không như thế nhưng nghĩ đó là ác ít ..

Xem thêm this câu hỏi về SO

Các vấn đề liên quan