在wp7中将ApplicationBarIconButton的可见性设置为false

时间:2012-11-08 10:19:30

标签: xaml windows-phone-7.1 windows-phone

我的Windows Phone应用程序中有一个应用程序栏

  <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

怎么做?

祝你好运

2 个答案:

答案 0 :(得分:3)

您无法将应用栏中各个按钮的可见性设置为折叠。但您可以enable/disable使用IsEnabled属性ApplicationBar.Buttons.Remove(object),或者从{{1}}后面的代码中动态删除它们,并传递您在点击事件中收到的按钮对象。我想它应该有效。

答案 1 :(得分:0)

您需要做的是在您的应用程序中有2个不同的AppBar - 第一个带有ApplicationBarIconButtons(刷新和收藏夹),第二个带有刷新ApplicationBarIconButton

EventHandler的{​​{1}}中,您可以将当前显示的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. EventHandler中,写下

Fav_Click