在app.config中获取价值

时间:2015-09-15 17:15:25

标签: wpf xaml

我在Key中有app.config

<appSettings>
    <add key="SourceWindow" value="C:\Windows" />
</appSettings>

MainWindow.xaml中有:

<ObjectDataProvider x:Key="keyFiles" MethodName="GetFiles" ObjectType="{x:Type io:Directory}">
    <ObjectDataProvider.MethodParameters>
        <sys:String> GET VALUE IN APP.CONFIG </sys:String>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

我如何在app.config中获得价值 - &gt; <add key="SourceWindow" value="C:\Windows" />并在<sys:String> VALUE </sys:String>中设置此值 按xaml

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

要解决您的问题,您可以编写自己的MarkupExtension

我为您准备了一个简短的示例代码。首先,让我们看一下用于检索app.Config的appSettings的MarkupExtension类:

../../../directory/target

现在可以在XAML中使用namespace WpfApplication1 { public class AppSettingsExtension : MarkupExtension { private string key; public AppSettingsExtension() { } public AppSettingsExtension(string key) { Key = key; } public string Key { get { return key; } set { key = value; } } public override object ProvideValue(IServiceProvider serviceProvider) { return ConfigurationManager.AppSettings[Key]; } } } (不在AppSettingsExtension节点内,因为它已经返回了一个字符串对象):

<sys:String />

我希望我的样本可以帮助你。