焦点汉堡菜单项

Focus HambugerMenu Item

目前我正在使用 Mahapps.Metro 工具包中的 HamburgerControlMenu 实现一个应用程序。

我需要在事件发生后通过代码聚焦特定的 HambugerMenu 项目。

这是 WPF 代码:

    <Grid.Resources>
    <DataTemplate x:Name="aa" x:Key="MenuItemTemplate" DataType="{x:Type viewModels:MenuItem}">
        <Grid x:Name="gridMain" Height="48">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="48" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <ContentControl Grid.Column="0"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"
                            Foreground="White"
                            Focusable="False"
                            Content="{Binding Icon}"/>
            <TextBlock x:Name="txtBlockMenu" 
                       Grid.Column="1"
                       VerticalAlignment="Center"
                       FontSize="16"
                       Foreground="White"
                       Text="{Binding Text}" />
        </Grid>
    </DataTemplate>
</Grid.Resources>

<controls:HamburgerMenu x:Name="HamburgerMenuControl"
                        Foreground="White"
                        PaneBackground="#FF444444"
                        IsPaneOpen="False"
                        ItemsSource="{Binding Menu}"
                        OptionsItemsSource="{Binding OptionsMenu}"
                        ItemClick="HamburgerMenuControl_OnItemClick"
                        OptionsItemClick="HamburgerMenuControl_OnItemClick"
                        ItemTemplate="{StaticResource MenuItemTemplate}"
                        OptionsItemTemplate="{StaticResource MenuItemTemplate}"/>

一点帮助就好了。

设置SelectedIndexSelectedItem属性。例如,以下内容 select 索引 1 处的第二项:

HamburgerMenuControl.IsPaneOpen = true;
HamburgerMenuControl.SelectedIndex = 1;

您可以使用以下方式设置它:

this.*yourHamburgerControlName*.SelectedIndex = *InsertHere the position of your HamburgerMenuItem in the ItemSource*;