2013-08-18 104 views
1

我有一個菜單和一個TreeView在我的MainWindow.XAML中定義。在設計時,他們展示自己的內容,但不能在運行:元素內容顯示在設計時間但不是運行時間

Designtime < - 設計時

Runtime < - 運行時

由於XML數據在實際MainWindow.XAML文件,我可以提供看不出它是如何成爲設計時與運行時參考錯誤的,就像那裏的許多圖像示例一樣。

讓我們專注於菜單。這裏是相關的XAML:

<Window.Resources> 
    <XmlDataProvider x:Key="xmlData"> 
     <x:XData> 
      <items> 
       <item Name="file" /> 
       <item Name="edit" /> 
       <item Name="debug" /> 
      </items> 
     </x:XData> 
    </XmlDataProvider> 
    ... 
<Window.Resources> 
<Grid Background="#FFA1C4A1"> 
    <Menu Foreground="Blue" Height="24" HorizontalAlignment="Left" Margin="291,106,0,0" Name="menu1" VerticalAlignment="Top" Width="200" ItemsSource="{Binding Source={StaticResource xmlData}, XPath=items/item/@Name}" Background="#FFEF1818" /> 
... 

我在做什麼錯?

回答

4

您需要將xmlns =「」添加到項目列表中。

而不是

<items> 

使用

<items xmlns=""> 
+0

對於那些好奇:http://msdn.microsoft.com/en-us/library/system.windows.data.xmldataprovider.aspx在Exemple部分的註釋框中。 「XML數據的根節點有一個xmlns屬性,它將XML名稱空間設置爲一個空字符串。[...]」 – fantastik78

+0

工作正常! Menu和TreeView現在都可以正常工作。並感謝那個解釋性的鏈接!絕對是一個奇怪的「嘿!」。我可以先在5分鐘內接受這個正確的答案Stack告訴我。 – Wollan

相關問題