2008-11-20 29 views
9

Chúc mừng tất cả! Đây là câu hỏi đầu tiên của tôi ở đây trên stackoverflow. Tôi có một ứng dụng WPF mà tôi đang viết cho các nhà phát triển đồng nghiệp trong bộ phận của mình và có một vài cài đặt mà tôi cần phải kiểm tra khi khởi động và cập nhật nếu chúng không được đặt (một là vị trí của tệp thực thi trên người dùng máy tính, tất cả chúng ta đều có nó, không phải ở cùng một nơi). Vì vậy, khi ứng dụng của tôi khởi động lần đầu tiên, tôi cần phải bật trình chỉnh sửa để họ chọn vị trí đó.Làm thế nào để cập nhật appSettings trong một ứng dụng WPF?

Những gì tôi cần làm là viết vị trí đó cho các appSettings, nhưng tôi dường như không thể có được nó, và tôi tìm kiếm Google khá khó khăn đêm qua cố gắng tìm một cách để làm điều đó. Hầu hết các câu trả lời tôi thấy liên quan đến việc đọc tệp app.config dưới dạng XML thẳng và điều đó có vẻ không đúng.

Vì vậy, tôi chỉ cần một cách để cập nhật giá trị trong cài đặt ứng dụng cho ứng dụng của tôi. Tôi có thể đọc từ họ chỉ là tốt, chỉ cần không tìm ra cách để viết cho họ. Cám ơn rất nhiều!

James

Trả lời

20

Bạn đã xem lớp ConfigurationManager chưa? Nó cung cấp một giao diện mạnh mẽ hơn cho tệp app.config và bạn có thể làm điều gì đó như sau:

Configuration oConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
oConfig.AppSettings.Settings["PreferenceToRemember"].Value = “NewValue”; 
oConfig.Save(ConfigurationSaveMode.Full); 
ConfigurationManager.RefreshSection(”appSettings”); 

Chỉ cần nhớ nhập System.Configuration vào dự án của bạn. Nó không được thêm vào theo mặc định.

+0

Im sử dụng (mặc dù ở chế độ gỡ lỗi) và nó lưu các giá trị "trong bộ nhớ", nhưng không bao giờ ghi chúng vào tệp. Bất kỳ ý tưởng? –

+0

Hmm, thật kỳ quặc. Điều gì sẽ xảy ra nếu bạn chạy nó bên ngoài chế độ gỡ lỗi? –

+1

Tôi gặp vấn đề tương tự. Hãy chắc chắn rằng bạn sử dụng ConfigurationSaveMode.Minimal hoặc Full và không ConfigurationSaveMode.Modified nếu bạn đang thêm một giá trị mới. – MattAitchison

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