Mahapps에서 제공하는 햄버거 메뉴에 메뉴 항목을 추가하려고합니다. 햄버거 메뉴는 ImageItems, IconItems 및 GlyphItems를 지원합니다. 사용하려는 항목 유형은 IconItems입니다. 이 게시물 (How to use icon in mahapps hamburger menu XAML)에 도움을 요청했지만 문제가 지속됩니다. 나는 또한이 블로그 게시물 (http://jkarger.de/2017/02/06/mahapps-hamburgermenu/)을 팔로우했습니다.메뉴 항목이 Mahapps.Metro에 표시되지 않습니다. 햄버거 메뉴
<controls:HamburgerMenu ItemTemplate="{StaticResource MenuItemTemplate}"
OptionsItemTemplate="{StaticResource MenuItemTemplate}"
Foreground="White" DisplayMode="CompactInline"
ContentTemplate="{StaticResource HamburgerMenuContentTemplate}">
<controls:HamburgerMenuItemCollection>
<controls:HamburgerMenuIconItem Icon="{iconPacks:PackIconFontAwesome Kind=AddressBook}" Label="Address" x:Name="Item1" >
<controls:HamburgerMenuIconItem.Tag>
<patient:PatientView/>
</controls:HamburgerMenuIconItem.Tag>
</controls:HamburgerMenuIconItem>
</controls:HamburgerMenuItemCollection>
</controls:HamburgerMenu>
데이터 템플릿 : 여기
내 코드입니다
<DataTemplate DataType="{x:Type controls:HamburgerMenuIconItem}" x:Key="MenuItemTemplate" >
<Grid Height="64">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="64" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Viewbox ToolTip="{Binding Label}" Width="32" Height="32" >
<Viewbox.Child>
<ContentControl Content="{Binding Icon}"/>
</Viewbox.Child>
</Viewbox>
</Grid>
<TextBlock Grid.Column="1"
VerticalAlignment="Center"
FontSize="16"
Foreground="White"
Text="{Binding Label}" />
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type controls:HamburgerMenuItem}" x:Key="HamburgerMenuContentTemplate">
<Grid x:Name="TheContentGrid">
<Grid.RowDefinitions>
<RowDefinition Height="48" />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0"
Background="#FF444444">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Image Source="../Resources/Module.ico" Width="25" Height="25" Margin="10,0"/>
<TextBlock x:Name="Header"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="24"
Foreground="White"
Text="e-Requesting" />
</StackPanel>
</Border>
<ContentControl x:Name="TheContent"
Grid.Row="1"
Focusable="False"
Foreground="{DynamicResource BlackBrush}"
Content="{Binding Tag}" />
</Grid>
</DataTemplate>
내 응용 프로그램을 실행하면 내가 왼쪽에있는 햄버거 메뉴를 볼 수 있습니다, 그것은 열리고 닫힙니다 햄버거를 누를 때 메뉴에 항목이 표시되지 않습니다. 또한 아이콘이나 이미지가없는 표준 메뉴 항목을 추가하여 메뉴 항목의 레이블을 최소한으로 볼 수 있는지 확인하려고 시도했지만 아무 것도 표시되지 않습니다.
제안 사항은 훌륭합니다.
내가 틀릴 수도 있고 (햄버거 자체에 익숙하지 않을 수도있다.)하지만 HamburgerMenuItem-s를 컨텐트로 설정하거나 어디에서나 'ItemsSource'를 설정하는 것을 보지 않는다면 템플릿을 정의하는 것입니다. – NSGaga
@NSGaga 여기에 정의되어 있습니다. : (첫 번째 코드 블록 참조) –
rejy11
@NSGaga 네가 맞아! 내 안에 ItemCollection을 중첩시켜 ItemsSource 태그를 정의해야했습니다. – rejy11