UWP NavigationView 设置 IsPaneOpen false

Jua*_*mez 4 uwp uwp-xaml

我有一个这样的导航视图:

<NavigationView           
    MenuItemsSource="{Binding HamMneuItems}"
    IsPaneOpen="False"
    Margin="0,0,0,0" 
    Grid.Row="0"
    Grid.RowSpan="2"
    CompositeMode="SourceOver"            
    x:Name="nvSample"
    IsSettingsVisible="True" 
    IsTabStop="False"            
    Header="{Binding Titulo,UpdateSourceTrigger=PropertyChanged,Mode=OneWay}" SelectionChanged="NvSample_SelectionChanged">
    <Frame x:Name="ScenarioFrame"
        Margin="5,0,5,5"
        Grid.Column="0"
        Grid.Row="0"
        Grid.RowSpan="2"
        d:IsHidden="True"/>
</NavigationView>
Run Code Online (Sandbox Code Playgroud)

属性IsPaneOpen设置为 false,但它始终显示打开的窗格,您尝试在 Page_Loaded 事件中的代码隐藏处将 IsPaneOpen 设置为 false,在导航视图 Loaded 事件中没有结果。

现在我的问题是如何在第一次显示 NavigationView 时以紧凑模式显示它?

或者

在哪里将 IsPaneOpen 设置为隐藏代码隐藏窗格?

Jer*_*rry 6

在 xaml 设置一个 'Loaded' 事件

<NavigationView 
    Loaded="nvSample_Loaded" 
Run Code Online (Sandbox Code Playgroud)

在 nvSample_Loaded 事件背后的代码中:

private void nvSample_Loaded(object sender, RoutedEventArgs e)
{
     nvSample.IsPaneOpen = false;
}
Run Code Online (Sandbox Code Playgroud)