簡體   English   中英

更改應用程序欄中的按鈕?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM