我知道通过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}"/>
再次感谢!
答案 0 :(得分: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;
注意模式? :-)
这是截图:
希望这有帮助!