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 が実際に機能するかどうかを確認するために追加した固定テキスト (「数量」) が表示されているため、バインディングに問題があると思います。

これは2つの異なるタイプで階層化されているため、MenuItemにItemTemplateを使用できないと思います...

編集:

私のデータモデルは次のようになります。

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;
}
4

1 に答える 1