我想將KeyValuePair列表綁定到MenuItems列表。 我以爲我應該使用MenuIten.HeaderTemplate,但它沒有奏效。我只有空白標題。WPF MenuItem Header和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>
然後我用MenuItem.Header替換MenuItem.HeaderTemplate,它工作。
<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>
任何人都可以向我解釋爲什麼HeaderTemplate在這裏不起作用嗎?
謝謝。那麼如何訪問XAML中HeaderTemplate中的數據? MenuItem.Template是否從它的父級繼承DataContext?Menu? – 2009-05-22 18:33:33
顯然我發佈這個問題時,我不太瞭解WPF。謝謝彌迦,對於遲到的接受感到抱歉。 – 2010-01-29 15:11:26