2012-12-16 78 views
1

我的應用程序中有以下內容。配置文件WPF中XmlDataProvider的自定義源代碼

<appSettings> 
    <add key="Path" value="C:\Users\dave\Desktop\dave"/> 
    </appSettings> 
在我的XAML文件

,該XmlDataProvider如下:

<XmlDataProvider x:Name="Data" Source= "setting.xml" XPath="Product" /> 

我想點源到路徑。

任何幫助一如既往是非常感謝。

親切的問候

+0

您必須從配置文件中讀取應用程序設置,然後您可以將'Source'屬性綁定到'Path'鍵的值。 – Bernard

+0

在C#中很容易。這可以接受嗎?或者在ApppSettings中使用完整的文件名稱 –

+0

謝謝Bernard。亨克,C#是可以接受的,我已經使用它像字符串xmlPath = ConfigurationManager.AppSettings [「Path」];但我不知道在XAML中使用它的人。我試過Source = xmlPath +「setting.xml」謝謝 – James

回答

0

如果你不介意其背後的代碼的屬性,你可以在XAML中使用StringFormat

public string MyPath 
{ 
    get { return ConfigurationManager.AppSettings["Path"]; } 
} 


<XmlDataProvider x:Name="Data" Source="{Binding Path=MyPath, StringFormat={}{0}\\Settings.xml}" XPath="Product" /> 

回報:「C:\用戶\戴夫\桌面\戴夫\設置.XML」

+0

嗨Sa_ddam。感謝您的幫助。我可以看到這可以如何工作,但是我收到以下錯誤。你知道這可能是爲什麼嗎? 'Binding'不能在'XmlDataProvider'類型的'Source'屬性上設置。 '綁定'只能在DependencyObject的DependencyProperty上設置。親切的問候 – James

0

嘗試這樣的:

<XmlDataProvider x:Name="Data" Source= "pack://siteoforigin:,,,/setting.xml" XPath="Product" /> 

Setting.xml的必須是你的主要FO lder連續。