2013-06-24 18 views
0

我試圖通過xaml將app.config的值綁定到控件。下面的代碼:如果我取消綁定一切原來是OK爲什麼只有綁定需要密鑰?

Error 44 Unknown build error, 'Key cannot be null. Parameter name: key Line 30 Position 56.'

<SoundPlayerAction Source="C:\Windows\Media\Windows Hardware Fail.wav" /> 

爲了綁定(W/O

//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}"/> 

這給了這個錯誤我不需要的兩種方法),我跟着thisthis其他線程。

我得到什麼錯誤?

+0

請詳細說明更多的位置......在那裏你的app.config設置別名? –

+0

對不起,也許我沒有解釋自己。我試圖在app.config中關注聲音的路徑,以便在部署後能夠更改它。 – misleadingTitle

+0

您將名稱空間前綴聲明爲'properties'並將其用作'p:'。是複製/粘貼錯誤還是你的代碼看起來像這樣? – dkozl

回答

0

您應該將您的SoundplayerAction綁定到您創建的ViewModel或AppconfigProvider類。在該類上創建一個Readonly屬性,用於檢索appconfig值。

您可以將該類添加爲視圖中的統計資源。

這種方式,您也可以隨時輕易改變,你會得到這條道路,並結合多個應用程序設置成一個提供者類

相關問題