0

WindowsPhoneアプリケーションにアプリケーションバーがあります

  <phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar>
        <shell:ApplicationBarIconButton x:Name="Refresh" IconUri="Images/appbar.sync.rest.png" Text="Actualiser" Click="ApplicationBarIconButton_Click" />
        <shell:ApplicationBarIconButton x:Name="Favorite"  IconUri="Images/appbar.favs.addto.rest.png" Text="Favorite" Click="ApplicationBarIconButton_Click_1" />
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

クリックしたときの可視性<shell:ApplicationBarIconButton x:Name="Favorite" IconUri="Images/appbar.favs.addto.rest.png" Text="Favorite" Click="ApplicationBarIconButton_Click_1" /> をfalseに設定する必要がありました

どうすればこれができますか?

よろしくお願いします

4

2 に答える 2

3

アプリバーの個々のボタンの表示を折りたたむように設定することはできません。ただし、プロパティenable/disableを使用するIsEnabledか、コードビハインドから動的に削除してApplicationBar.Buttons.Remove(object)、クリックイベントで受け取ったボタンオブジェクトを渡すことで、それらを実行できます。私はそれがうまくいくはずだと思います。

于 2012-11-08T10:54:46.153 に答える
0

アプリケーションに2つの異なるAppBarを設定する必要があります。1つ目は2つApplicationBarIconButtons(RefreshとFavorite)で、2つ目はRefreshのみApplicationBarIconButtonです。

EventHandlerforでは、現在ユーザーに表示されているをApplicationBarIconButton_Click_1変更できます。AppBar

このようなものが機能します...

ApplicationBar appBar1 = new ApplicationBar();
ApplicationBarIconButton refreshIcon = new ApplicationBarIconButton();
refreshIcon.text = "Refresh";
refreshIcon.Click += new EventHandler(Refresh_Click);
appBar1.add(refreshIcon);

ApplicationBarIconButton favIcon = new ApplicationBarIconButton();
favIcon.text = "Refresh";
favIcon.Click += new EventHandler(Fav_Click);
appBar1.add(favIcon);

ApplicationBar appBar2 = new ApplicationBar();
ApplicationBarIconButton refreshIcon2 = new ApplicationBarIconButton();
refreshIcon2.text = "Refresh";
refreshIcon2.Click += new EventHandler(Refresh_Click);
appBar2.add(refreshIcon2);

ApplicationBar = appBar1; // Assign the AppBar with both buttons as the default.

次に、EventHandlerforFav_Clickに、

ApplicationBar = appBar2; // This will make the AppBar with only "Refresh" button visible giving the impression that the Favorite button has been made invisible.
于 2012-11-08T23:33:19.027 に答える