尝试更改AppBar项的属性IsEnabled时出现NullReferenceException错误

时间:2013-07-25 19:18:17

标签: c# windows-phone-7 windows-phone-8 tiles

在我的一个.xaml页面上,我有一个带有几个图标的appbar。

其中一个图标将页面固定为“开始”,因此当它被固定时,我想将该图标的IsEnabled属性更改为false。

但是我得到了这个奇怪的错误;如调用此过程时标题中所述。

以下是代码:

if (Tile == null) { }
else { appBarPin.IsEnabled = false; }

任何想法?

2 个答案:

答案 0 :(得分:6)

应用程序栏的行为与其他UI元素不同。来自App bar for Windows Phone

  

应用栏不支持控件的某些常用功能,例如   数据绑定。因此,您无法更改图标按钮和菜单   使用您在XAML中设置的名称属性来设置项目文本。

如果要更改appbar项的属性,请按以下方式执行:

ApplicationBarIconButton button = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
button.IsEnabbled = false;

0替换为按钮的索引。即如果按钮是appbar的第二个按钮,则索引将为1。

How to change app bar icon buttons and menu items dynamically for Windows Phone

中查看详情

答案 1 :(得分:2)

空引用异常意味着如果点之前的东西为空,则不能说“.IsEnabled”。

看来appBarPin为null。