VisualStateManager与Windows Phone 8.1 BottomAppBar

时间:2015-08-18 07:55:27

标签: windows-phone-8.1 winrt-xaml visualstatemanager appbar commandbar

我在Windows 8.1应用中使用VisualStateManager来更新BottomAppBar上按钮的可见性......

然而,Windows Phone 8.1上的BottomAppBar似乎不支持同样的XAML。

当我尝试更新Blend中的按钮时,我得到错误:动画正在尝试修改名为''的对象,但在PageStandIn中找不到这样的对象。

有没有办法让这项工作或我必须使用代码隐藏来手动切换可见性? 有没有办法使这项工作,所以我可以从win81共享代码更新命令栏?

1 个答案:

答案 0 :(得分:1)

AppBars非常特别,它们是系统UI的一部分(在某种意义上),因此某些东西往往不能按预期工作。

使用故事板不适用于更新它们。 您可以使用后面的代码,但如果您使用的是MVVM框架,则应该能够Bind将它们设置为布尔值,并使用BooleanToVisibilityConverter进行可见性管理。

模型

public bool ShowAppButton {get; set;}

视图

<AppBarButton x:Name="MyAppButton" Label="AppButton" Visibility="{Binding ShowAppButton, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}">

希望这有帮助!