XAML UWP AppBar没有响应

时间:2019-03-25 19:21:58

标签: c# xaml uwp appbar

我的UWP应用出现奇怪的行为。

我的页面顶部有一个带有三个按钮的AppBar。当我通过NavView导航到页面时,AppBar没有响应,按钮和菜单(三个点)都没有响应,也没有“鼠标悬停”。当我再次导航到页面时,它可以正常工作。

据我所知,当我在代码中删除“ isOpen”属性时,它似乎正在工作。一旦设置了属性(使用C#或XAML代码),它在第一次导航时就没有响应

<AppBar x:Name="AppBar" IsSticky="True" Margin="0,0,0,0"  IsOpen="True" >
  <StackPanel Orientation="Horizontal">
    <AppBarButton Label="Reset" Icon="AllApps" Click="ButtonResetGrid" />
    <AppBarButton Label="Export" Icon="AllApps" Click="ButtonExport" />
    <AppBarButton Label="Refresh" Icon="AllApps" Click="ButtonRefreshCode" />
  </StackPanel>
</AppBar>

这是第一次导航到页面时

不起作用: enter image description here

第二次浏览后(您可以看到鼠标悬停在上面):

预期行为 enter image description here

也许有人有想法或好提示。

2 个答案:

答案 0 :(得分:0)

能否请您尝试一下,因为它可能会起作用:

 <Page.TopAppBar>
        <AppBar x:Name="AppBar" IsSticky="True" Margin="0,0,0,0"  IsOpen="True">
                <StackPanel Orientation="Horizontal">
                    <Button Content="Reset" Width="140" Height="80" Click="ButtonResetGrid_Click"/>
                    <Button Content="Export" Width="140" Height="80" Icon="AllApps" Click="ButtonExport_Click"/>
                    <Button Content="Refresh" Width="140" Height="80" Icon="AllApps" Click="ButtonRefreshCode_Click"/>
                </StackPanel>

        </AppBar>
    </Page.TopAppBar>

答案 1 :(得分:0)

官方文档中有remarks,只有在升级使用AppBar的Universal Windows 8应用程序并且需要最小化更改时,才应使用AppBar。对于Windows 10中的新应用,我们建议改用CommandBar控件。请尝试使用CommandBar,如下所示。

<CommandBar>
    <AppBarButton Label="Reset" Icon="AllApps" Click="ButtonResetGrid" />
    <AppBarButton Label="Export" Icon="AllApps" Click="ButtonExport" />
    <AppBarButton Label="Refresh" Icon="AllApps" Click="ButtonRefreshCode" />
    <CommandBar.SecondaryCommands>
        <AppBarButton Icon="Like" Label="Like" />
        <AppBarButton Icon="Dislike" Label="Dislike" />
    </CommandBar.SecondaryCommands>

    <CommandBar.Content>
        <TextBlock Text="Now playing..." Margin="12,14"/>
    </CommandBar.Content>
</CommandBar>

更新

如果要使所有AppBarButtons左移,则需要自定义CommandBar样式,例如link