use*_*662 13 silverlight windows-phone-7
我有一个内置Silverlight的Windows Phone 7应用程序.此应用程序使用应用程序栏.如果已购买应用程序,我想隐藏应用程序栏中的一个按钮.但是,我注意到ApplicationIconButton类没有公开"Visibility"属性.与此同时,我没有看到在运行时动态填充应用程序栏的方法.
任何人都可以对此提供一些见解吗?这可能吗?如果是这样,怎么样?
谢谢!
Den*_*sky 32
应用程序栏按钮以基于索引的方式工作,而不是像您期望的那样基于对象.因此,只要您想对其执行特定操作(例如禁用),就需要指定按钮索引.
例如:
ApplicationBarIconButton b = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
b.IsEnabled = false;
Run Code Online (Sandbox Code Playgroud)
这就是说,您可以创建新的ApplicationBarIconButton实例并将它们传递给ApplicationBar:
for (int i = 0; i < 2; i++)
{
ApplicationBarIconButton b = new ApplicationBarIconButton();
b.Text = i.ToString();
b.IconUri = new Uri("/Images/icon1.png", UriKind.Relative);
ApplicationBar.Buttons.Add(b);
}
Run Code Online (Sandbox Code Playgroud)
删除按钮时,您可以简单地使用RemoveAt,因为您知道要删除的按钮的索引:
ApplicationBar.Buttons.RemoveAt(0);
Run Code Online (Sandbox Code Playgroud)
Dr *_*bie 13
我使用以下方法来更改代码中的应用程序栏按钮:
private void UpdateAppbarButton(int index, string uriString, string text, bool visibility, EventHandler handler)
{
ApplicationBarIconButton button1 = null;
if (ApplicationBar.Buttons.Count > index)
{
button1 = ApplicationBar.Buttons[index] as ApplicationBarIconButton;
}
if (button1 != null)
{
{
ApplicationBar.Buttons.Remove(button1);
}
}
if (visibility == true)
{
button1 = new ApplicationBarIconButton(new Uri(uriString, UriKind.Relative));
button1.Text = text;
button1.Click += handler;
ApplicationBar.Buttons.Insert(index, button1);
}
}
Run Code Online (Sandbox Code Playgroud)
uriString是我希望在app按钮上显示的图标的相对路径.您可以根据自己的方案调整此代码.
基本上,不是设置按钮可见或不显示,您必须删除按钮(如果它在那里)或重新添加它,如果不是.
| 归档时间: |
|
| 查看次数: |
15665 次 |
| 最近记录: |