1

我知道通过 XAML 代码创建 AppBar 的方式。我想知道如何通过 C# 创建 AppBar。

在 Windows Phone 应用程序上,我可以做到这一点。

ApplicationBar = new ApplicationBar(){
            Mode = ApplicationBarMode.Minimized
};

ApplicationBarMenuItem copyLinkButton = new ApplicationBarMenuItem();
copyLinkButton.Click += (sender, e) => { //action };
copyLinkButton.Text = "copy to clipboard";
ApplicationBar.MenuItems.Add(copyLinkButton);

ApplicationBarMenuItem openInIEButton = new ApplicationBarMenuItem();
openInIEButton.Click += (sender, e) => { //action };
openInIEButton.Text = "open in internet explorer";
ApplicationBar.MenuItems.Add(openInIEButton);

我如何在 Windows 应用商店应用程序中执行此操作?

更新

感谢@kimsk 给我上一个问题的答案。我已经用你的回答解决了。但是在解决了这个问题之后,另一个类似的问题浮出水面。

因为我没有简单地使用这样的按钮,

<Button>Button 3</Button>

我在使用 Microsoft 的默认样式时遇到问题。无论如何要参考那种特定的风格,还是我必须自己从头开始创建一个?

<Button Style="{StaticResource EditAppBarButtonStyle}"/>

再次感谢!

4

1 回答 1

3

如果您认为 XAML 只是一种创建 UIElement 元素(如 AppBar、Button、StackPanel 等)对象的声明性方式,那将非常简单。

下面是在 XAML 中创建您已经知道的 BottomAppBar 的代码:

<Page.BottomAppBar>
    <AppBar>
        <StackPanel Orientation="Horizontal">
            <Button>Button 3</Button>
            <Button>Button 4</Button>
        </StackPanel>
    </AppBar>
</Page.BottomAppBar>

下面是创建 TopAppBar 的 C# 代码:

var appBar = new AppBar();
var stackPanel = new StackPanel{Orientation = Orientation.Horizontal};

stackPanel.Children.Add(new Button { Content = "Button1" });
stackPanel.Children.Add(new Button { Content = "Button2" });

var buttonWithStyle = new Button();
buttonWithStyle.Style = Application.Current.Resources["EditAppBarButtonStyle"] as Style;
stackPanel.Children.Add(buttonWithStyle);

appBar.Content = stackPanel;

this.TopAppBar = appBar;

注意到图案了吗?:-)

这是屏幕截图: 在此处输入图像描述

希望这可以帮助!

于 2013-05-16T02:02:26.810 回答