0

我在代码隐藏中设置 AppBarButton 可见性时遇到了麻烦。

有我的 XAML:

<Page.BottomAppBar>
    <AppBar Background="{ThemeResource AppBarBackgroundThemeBrush}">
        <StackPanel Orientation="Horizontal">
            <AppBarButton Icon="Save" Label="Uložit" x:Name="AppBarButtonSave" Click="AppBarButtonSave_OnClick" />
            <AppBarButton Icon="Mail" Label="Odeslat" x:Name="AppBarButtonMail" Visibility="Collapsed" />
            <AppBarButton Icon="Clear" Label="Zrušit" x:Name="AppBarButtonCancel" Click="AppBarButtonCancel_OnClick" />
            <AppBarButton Icon="Help" Label="Info" x:Name="AppBarButtonAbout" Click="AppBarButtonAbout_Click" />
        </StackPanel>
    </AppBar>
</Page.BottomAppBar>

还有我的 C#:

public MainPage()
    {   
        this.InitializeComponent();
        this.LoadLastResult();
    }

private void LoadLastResult()
{
    var savedItems = (List<AresDb>)this.lvwSaved.ItemsSource;

    if (savedItems.Any(o => o.Ico == ares.Info.Ico))
    {
        this.AppBarButtonSave.Visibility = Visibility.Collapsed;
    }
}

即使代码被触发,按钮仍然可见。但是,如果我尝试在某些单击操作中设置可见性,例如。单击按钮时,可见性设置正确。

有谁知道,为什么它在点击动作中效果很好,但在应用程序启动时却不行?

4

1 回答 1

0

毕竟,我明白了。Pivot OnSelectionChange 方法存在问题。因为当应用程序启动时,此方法会在所有其他方法之后调用。所以它将我的 AppBarButton 可见性设置回可见。但是当你触发点击动作时,这个方法是不会触发的。

于 2015-08-09T14:02:34.023 回答