AppBarButton可见性未设置

时间:2015-08-09 13:54:34

标签: c# xaml uwp

我在codebehinde中设置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;
    }
}

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

有没有人知道,为什么它在点击操作中效果很好,但在App启动时却不行?

1 个答案:

答案 0 :(得分:0)

毕竟,我想通了。 Pivot OnSelectionChange方法存在问题。因为在app启动时,此方法会在所有其他方法之后调用。所以它将我的AppBarButton可见性设置回Visible。但是当您触发单击操作时,不会触发此方法。