2013-04-12 44 views
0

我有一個Menuitem,它應該顯示一個數量列表作爲子項,顯示作爲子項爲此數量定義的單位列表。數量列表在代碼後面設置到MenuItem的ItemsSource中。從列表中使用綁定創建菜單項會產生空白項目

<MenuItem Header="common.unitsystem" Name="mnuItemUnits"> 
    <MenuItem.Resources> 
     <DataTemplate DataType="{x:Type guidev:Measurement}"> 
      <StackPanel> 
       <TextBlock Text="Measurement"/> 
       <TextBlock Text="{Binding Name}"/> 
      </StackPanel> 
     </DataTemplate> 
     <HierarchicalDataTemplate DataType="{x:Type guidev:Quantity}" ItemsSource="{Binding Measurements}"> 
      <StackPanel> 
       <TextBlock Text="Quantity "/> 
       <TextBlock Text="{Binding Name}"/> 
      </StackPanel> 
     </HierarchicalDataTemplate> 
    </MenuItem.Resources> 
</MenuItem> 

結果是我的MenuItem彈出,但子項目(數量)沒有任何綁定文本。子項目的數量是正確的,但他們自己沒有孩子。所以我認爲綁定存在問題,因爲我添加的固定文本用於檢查DataTemplates實際上是否正在顯示(「數量」)。

我覺得我不能使用的ItemTemplate的菜單項,因爲這是分層與2種不同類型...

編輯:

我的數據模型是這樣的:

public class Quantity 
{ 
    [XmlAttribute] 
    public string Name; 

    [XmlElement] 
    public List<Measurement> Measurement; 
} 


public class Measurement 
{ 
    [XmlAttribute] 
    public string Name; 

    [XmlAttribute] 
    public string Symbol; 

    [XmlAttribute] 
    public string System; 

    public string ToBaseFormula; 

    public string FromBaseFormula; 
} 
+1

您真的希望我們從XAML推斷您的數據模型嗎?請發佈足夠的信息來重現問題,最好在獨立的小應用程序中。 –

回答

0

呵呵,很高興你問到數據模型......現在我想通了:

解決方法是:在數據模型中使用屬性,而不是字段!