12

次の XAML コードがあります。

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="False" x:Name="PageBar">
        <shell:ApplicationBarIconButton IconUri="/Assets/Icons/appbar.questionmark.rest.png" Text="Help" x:Name="HelpIcon" Click="HelpIcon_Click" />
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem Text="Help" x:Name="HelpItem" Click="HelpIcon_Click" />
            <shell:ApplicationBarMenuItem Text="About" x:Name="AboutItem" Click="AboutItem_Click" />
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

しかし、C# コード内では常にnull.

なぜなのかご存知ですか?

4

2 に答える 2

16

愚かな決定では、ApplicationBar は標準の Silverlight オブジェクトではありません。その理由は、ビジュアル ツリーに実際には適合せず、バインドできず、x:Name が機能しないためです。

PhoneApplicationPage のプロパティを介して ApplicationBar を参照できます。

var helpItem = this.ApplicationBar.MenuItems[0];
var aboutItem = this.ApplicationBar.MenuItems[1];
于 2011-05-09T06:35:51.587 に答える
6

可視性を変更したいときに、これがうまくいくことがわかりました。

(ApplicationBar as ApplicationBar).IsVisible = true;

私はマシューからその答えを得ました

于 2012-06-20T12:46:14.583 に答える