Desidero associare un elenco di KeyValuePair a un elenco di MenuItems. Ho pensato che dovrei usare MenuIten.HeaderTemplate, ma non ha funzionato. Ho solo intestazioni vuote.WPF MenuItem Header and HeaderTemplate
<MenuItem
Header="Template"
ItemsSource="{Binding Path=Samples}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem>
<MenuItem.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Key}" FontWeight="Bold"/>
<TextBlock Text="{Binding Path=Value}" FontStyle="Italic" Margin="5,0,0,0"/>
</StackPanel>
</DataTemplate>
</MenuItem.HeaderTemplate> </MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
Quindi ho sostituito MenuItem.HeaderTemplate con MenuItem.Header, ha funzionato.
<MenuItem
Header="Template"
ItemsSource="{Binding Path=Samples}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem>
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Key}" FontWeight="Bold"/>
<TextBlock Text="{Binding Path=Value}" FontStyle="Italic" Margin="2,0,0,0"/>
</StackPanel>
</MenuItem.Header>
</MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
Qualcuno può spiegarmi perché HeaderTemplate non funziona qui?
Grazie. Come posso accedere ai dati in HeaderTemplate in XAML, quindi? MenuItem.Template non eredita DataContext dal suo genitore, il Menu? –
Apparentemente ho postato questa domanda quando non sapevo molto su WPF. Grazie Micah e mi dispiace per la tarda accettazione. –