在我的场景中,我想为BasePage
我的所有 Windows 8.1 App Pages 编写一个。在此BasePage
应该创建一个TopAppBar
.
其实我有:
public CommandBar TopCommandBar
{
get
{
// Check if a TopAppBar exists
if (this.TopAppBar != null) return this.TopAppBar.Content as CommandBar;
var appBar = new AppBar();
this.TopAppBar = appBar;
var top = this.TopAppBar.Content as CommandBar;
if (top == null)
{
topCommandBar = new CommandBar();
this.TopAppBar.Content = topCommandBar;
}
return this.TopAppBar.Content as CommandBar;
}
}
这段代码运行良好。但后来BaseClass
我想添加一个AppBarButton
if (ShowCloseButton)
{
var closeBtn = new AppBarButton();
closeBtn.Icon = new SymbolIcon(Symbol.Clear);
closeBtn.Label = "Close";
closeBtn.Click += closeBtn_Click;
this.TopCommandBar.PrimaryCommands.Insert(0, closeBtn);
}
奇怪的行为是直到我单击鼠标右键两次closeBtn
才会显示在 中。TopAppBar
表示我第一次单击右键->TopAppBar
出现但里面没有按钮。
然后我再次单击右键->TopAppBar
保持打开状态,并且该按钮显示其全部功能。