[英]How to refer to buttons on ApplicationBar in Windows Phone development
[英]Changing the buttons in the Applicationbar?
我想更改圖標及其在WP7應用程序中的代碼功能。 我試着在MainPage
構造函數和在MainPage_Loaded
但它說應用程序任務欄( x:Name
)為空所有的時間。
由於我使用相同的頁面和不同的狀態,該如何更改?
嘗試刪除x:Name
屬性,然后使用Page.ApplicationBar對其進行訪問 。
不幸的是,目前無法通過代碼訪問應用程序欄按鈕。 我按照WP7官方Mircosoft培訓套件的示例之一來完成該任務。 這是XAML和一些代碼:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar>
<shell:ApplicationBarIconButton IconUri="/icons/appbar.pin.png" IsEnabled="True" Text="Anpinnen" x:Name="appPinPage" Click="appPinPage_Click" />
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
請注意,ApplicationBar是PhoneApplicationPage的屬性,因此您不必為分配給PhoneApplicationPage的ApplicationBar屬性的ApplicationBar對象提供明確的名稱。 這是在上面的xaml代碼中更改按鈕圖片的示例。 該代碼在PhoneApplicationPage的重寫的OnNavigatedTo()方法中調用。
if (this.ViewModel.IsPinned())
{
((ApplicationBarIconButton)this.ApplicationBar.Buttons[0]).Text = Resource1.txtUnpin;
((ApplicationBarIconButton)this.ApplicationBar.Buttons[0]).IconUri = new Uri("/icons/appbar.unpin.png", UriKind.Relative);
}
else
{
((ApplicationBarIconButton)this.ApplicationBar.Buttons[0]).Text = Resource1.txtPin;
((ApplicationBarIconButton)this.ApplicationBar.Buttons[0]).IconUri = new Uri("/icons/appbar.pin.png", UriKind.Relative);
}
不幸的是, ApplicationBar不是Silverlight控件(不繼承自UIElement )。 這意味着不能使用x:Name
來訪問它,也不能使用其中的按鈕來訪問它,但是您可以使用ApplicationBar屬性在頁面內對其進行訪問!
檢查此示例以查看如何從頁面后面的代碼創建和訪問ApplicationBar。
如果您願意使用MVVM架構,則應從Cimbalino Windows Phone Toolkit中檢查ApplicationBarBehaviour,它將為您節省很多工作!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.