我想在我的app.config文件中添加自定义配置部分.有没有办法做到这一点,如何在我的程序中访问这些设置.以下是我要添加到我的配置部分app.config:
<RegisterCompanies>
<Companies>
<Company name="Tata Motors" code="Tata"/>
<Company name="Honda Motors" code="Honda"/>
</Companies>
</RegisterCompanies>
Run Code Online (Sandbox Code Playgroud) 下面的示例使用我从代码中获取的BackupDirectories列表填充ItemsControl.
如何更改此设置以便从app.config文件中获取相同的信息?
XAML:
<Window x:Class="TestReadMultipler2343.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="160"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Row="0"
Grid.Column="0"
Text="Title:"/>
<TextBlock
Grid.Row="0"
Grid.Column="1"
Text="{Binding Title}"/>
<TextBlock
Grid.Row="1"
Grid.Column="0"
Text="Backup Directories:"/>
<ItemsControl
Grid.Row="1"
Grid.Column="1"
ItemsSource="{Binding BackupDirectories}"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
后台代码:
using System.Collections.Generic;
using System.Windows;
using System.Configuration;
using System.ComponentModel;
namespace TestReadMultipler2343
{
public partial class Window1 : Window, INotifyPropertyChanged
{
#region ViewModelProperty: Title
private string _title;
public string Title
{
get …Run Code Online (Sandbox Code Playgroud) 我有一个简单的应用程序,可以向我们的一些内部用户发送状态电子邮件.
我使用一个简单的应用程序配置文件(App.config)来存储有关预期用户的电子邮件地址和名称信息.由于appSettings部分似乎只支持简单的键/值对,因此它目前看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="toName" value="Recipient Name" />
<add key="toAddr" value="some@email.com" />
<add key="toName2" value="Another Recipient Name" />
<add key="toAddr2" value="another@email.com" />
<add key="ccName" value="An Archive"/>
<add key="ccAddr" value="copies@email.com"/>
<add key="ccName2" value="Another Archive"/>
<add key="ccAddr2" value="morecopies@email.com"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后我在代码中单独添加每个收件人.
目前,这意味着每次添加或删除收件人时,我还需要重写代码以处理新收件人并重建和重新部署应用程序
我希望能够存储自定义配置条目,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<recipients>
<recipient recType="to" recAddr="some@email.com" recName="Recipient Name" />
<recipient recType="to" recAddr="another@email.com" recName="Another Recipient Name" />
<recipient recType="cc" recAddr="copies@email.com" recName="An Archive"/>
<recipient recType="cc" recAddr="morecopies@email.com" recName="Another Archive"/>
</recipients>
</configuration>
Run Code Online (Sandbox Code Playgroud)
所以我可以遍历它们:
MailMessage message …Run Code Online (Sandbox Code Playgroud)