我在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
?
有什么建议吗?
答案 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 />
我希望我的样本可以帮助你。