我有一个 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 用于 MenuItem,因为这是具有 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;
}