2013-05-16 18 views
1

我知道通過XAML代碼創建AppBar的方式。我想知道如何通過C#創建AppBar。如何使用C#在Windows應用商店應用程序中創建底部或頂部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> 

我有問題竊聽到微軟的默認樣式。無論如何要引用這種特定的風格,還是我必須從頭開始創建一個?

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

再次感謝!

回答

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; 

通知的格局? :-)

這是截圖: enter image description here

希望這有助於!

+0

謝謝!我已經找遍了所有人發佈這個。看起來這太簡單了,以至於沒有人在我看的任何地方發佈它。我其實已經想通了,直到 appBar.Content = stackPanel; 及以下。 現在我有另一個問題。因爲我的按鈕的樣式不只是一個按鈕,我一直在使用微軟提供的樣式。 有沒有反正挖掘該資源或我必須從頭開始創建我的風格? – Jieqin

+0

是的,您還可以從應用程序資源字典中獲取樣式,並分配給按鈕。我剛剛編輯了我的答案,並添加了幾行代碼。 – kimsk

+0

太棒了!謝謝。我的問題都解決了! – Jieqin

相關問題