我在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启动时却不行?
答案 0 :(得分:0)
毕竟,我想通了。 Pivot OnSelectionChange方法存在问题。因为在app启动时,此方法会在所有其他方法之后调用。所以它将我的AppBarButton可见性设置回Visible。但是当您触发单击操作时,不会触发此方法。