我正在尝试通过xaml将app.config值绑定到控件。这是代码:
//App.config:
<appSettings>
<add key="SoundFile" value="C:\\Windows\\Media\\Windows Hardware Fail.wav"/>
</appSettings>
//window.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:properties="clr-namespace:MfClient.Properties">
...
<SoundPlayerAction Source="{Binding Source={x:Static p:Settings.Default},Path=SoundFile}"/>
这会出现此错误:
错误44未知的构建错误,'键不能为空。参数名称:key 第30行第56位。'
如果我删除了绑定,一切都证明是正确的:
<SoundPlayerAction Source="C:\Windows\Media\Windows Hardware Fail.wav" />
为了绑定(没有我不需要的双向方法),我跟着this和this其他线程。
我出错了什么?
答案 0 :(得分:0)
您应该将SoundplayerAction绑定到您创建的ViewModel或AppconfigProvider类。在该类上创建一个Readonly属性,用于检索appconfig值。
您可以在视图中将该类添加为statis资源。
通过这种方式,您还可以随时轻松更改获取该路径的位置,并将多个应用程序设置合并到一个提供程序类中