2010-10-14 17 views
6

Cách lấy giá trị từ App.Config.wpf - Nhận các giá trị từ tệp Cấu hình ứng dụng

Code:

<configuration> 
    <appSettings> 
    <add key="ShowRoomCode" value="1000"/> 
    <add key="FolderPath" value="D:\\Images\\Book\\"/> 
    </appSettings> 
</configuration> 

string imageFolderPath = ConfigurationManager.AppSettings["FolderPath"]; 

Nhưng nó sẽ trả về giá trị null. Tệp cấu hình nằm trong cùng một dự án.

Trả lời

17

Nếu bạn mở rộng Thuộc tính phần của Visual Studio và nhấp đúp chuột vào phần Cài đặt, bạn sẽ có thể để thêm các thiết lập tùy chỉnh mà kết thúc như vậy trong tập tin cấu hình:

<configuration> 
<configSections> 
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
     <section name="WpfApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> 
    </sectionGroup> 
</configSections> 
<userSettings> 
    <WpfApplication1.Properties.Settings> 
     <setting name="FilePath" serializeAs="String"> 
      <value>Thing</value> 
     </setting> 
    </WpfApplication1.Properties.Settings> 
</userSettings> 
</configuration> 

mà bạn có thể sau đó làm điều này trong mã của bạn:

string thing = Properties.Settings.Default.FilePath; 

đó là tốt đẹp bởi vì nó mang lại cho bạn gõ an toàn quá

+2

Solution Explorer -> MyProject -> Pro perties Thư mục -> Settings.Settings "(VS2012) – teynon

+0

Trên đây không làm việc cho tôi, cách khác tôi sử dụng này: YourAppName.Properties.Settings.Default.NameOfYourSetting.ToString(); –

1

Mã bạn đã viết sẽ hoạt động - đảm bảo bạn chưa thay đổi 'BuildAction' của tệp cấu hình.

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