WP7:引用元素时出现NullReference异常



我正在开发一个Windows Phone 7.1应用程序,这是ApplicationBar:

<phone:PhoneApplicationPage.ApplicationBar>
  <shell:ApplicationBar IsVisible="True"
                        IsMenuEnabled="True">
    <shell:ApplicationBarIconButton IconUri="/add.png"
                                    Text="Add"
                                    x:Name="addItem"
                                    Click="addItem_Click" />
    <shell:ApplicationBarIconButton IconUri="/edit.png"
                                    Text="Edit"
                                    x:Name="edit"
                                    IsEnabled="False"
                                    Click="edit_Click" />
    <shell:ApplicationBarIconButton IconUri="/remove.png"
                                    Text="Remove"
                                    x:Name="remove"
                                    IsEnabled="False"
                                    Click="remove_Click" />
    <shell:ApplicationBar.MenuItems>
      <shell:ApplicationBarMenuItem Text="Clear"
                                    x:Name="clr"
                                    Click="clr_Click" />
      <shell:ApplicationBarMenuItem Text="Logout"
                                    Click="ApplicationBarMenuItem_Click"
                                    x:Name="logout" />
    </shell:ApplicationBar.MenuItems>
  </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

当我引用它的元素时,名为'edit'和'remove':

edit.IsEnabled = true;
        remove.IsEnabled = true;

得到nullreference异常。有解决方案吗?

您必须在代码后面检索对象:

ApplicationBarIconButton edit = ApplicationBar.Buttons[1] as ApplicationBarIconButton;
edit.IsEnabled = true;

最新更新