2

BasePage私のシナリオでは、すべての Windows 8.1 アプリ ページに対してを書きたいと考えています。この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);
}

ストレージの動作は、マウスの右ボタンを 2 回クリックするまで にcloseBtn表示されないことです。TopAppBar

初めて右クリックしたときを意味します->がTopAppBar表示されますが、中にボタンはありません。

次に、もう一度右ボタンをクリックします -->TopAppBar開いたままになり、ボタンが完全な機能を備えた状態で表示されます。

4

2 に答える 2