焦点HambugerMenu项目

时间:2018-01-23 11:08:20

标签: c# wpf mahapps.metro

目前我正在使用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}"/>

帮助不大。

2 个答案:

答案 0 :(得分:2)

设置SelectedIndexSelectedItem属性。例如,下面将选择索引1处的第二个项目:

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

答案 1 :(得分:1)

您可以使用以下方式进行设置:

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