В настоящее время я использую Grid
из Buttons
для размещения клавиш навигации. Это ужасно, но выполняет свою работу.
Вот кусок XAML:
<Button x:Name="ShowMainMenu" Grid.Column="0" Margin="5" Content="Main Menu"/>
<Button x:Name="ShowReportsMenu" Grid.Column="2" Margin="5" Content="Reports"/>
<Button x:Name="Reset" Grid.Column="4" Margin="5" Content="Reset"/>
<Button x:Name="TryClose" Grid.Column="6" Margin="5" Content="Close"/>
Между прочим, я использую Caliburn.micro, поэтому именования кнопок достаточно, чтобы связать их с соответствующими командами.
Теперь я хочу, чтобы они поместили их в гамбургер-меню.
То, что я пробовал до сих пор, это:
<Controls:HamburgerMenu >
<Controls:HamburgerMenu.ItemTemplate>
<DataTemplate DataType="{x:Type Controls:HamburgerMenuGlyphItem}">
<Grid Height="48">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="48" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="12" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Glyph}" />
<TextBlock Grid.Column="1" VerticalAlignment="Center" FontSize="16" Text="{Binding Label}" />
</Grid>
</DataTemplate>
</Controls:HamburgerMenu.ItemTemplate>
<Controls:HamburgerMenu.ItemsSource>
<Controls:HamburgerMenuItemCollection>
<Controls:HamburgerMenuGlyphItem Glyph="1" Label="Main Menu" cal:Message.Attach="[Event Click] = [Action ShowMainMenu]"/>
</Controls:HamburgerMenuItemCollection>
</Controls:HamburgerMenu.ItemsSource>
</Controls:HamburgerMenu>
Но это не работает, потому что Controls:HamburgerMenuGlyphItem
не FrameworkElement
.
Кстати, переходный вид реализован так:
Итак, как я могу перевести свою связку Buttons
в HamburgerMenu
? Я также не могу найти подходящую документацию для HamburgerMenu
от Caliburn.micro.