-1

我的一个 xaml 页面上有一组 applicationbariconbuttons,它在 xaml 上看起来像这样:

<shell:ApplicationBarIconButton x:Name="button1" IconUri="/Images/YourImage.png" Text="Button 1"/>

在 xaml.cs 中:

button1.IconUri = new Uri("/Images/YourImage2.png", UriKind.Relative);

当我添加执行 iconuri 甚至文本的更改时,它会引发 AccessViolationException

我想知道整个网络发生了什么,这就是您进行如此简单/直接更改的方式。并且图像文件已经更改为“内容”,构建操作为“请勿复制”,我尝试了各种组合,但它仍然抛出错误。我什至重新创建了整个解决方案。

但是我遇到了一个问题,即当我进行任何更改时 xaml 没有得到更新,我在设备上更新应用程序的唯一方法是删除并重新安装。

另一个奇怪的事情是,当我运行代码分析时,我得到了这个:

CA0001 Error Running Code Analysis
CA0001 : The following error was encountered while reading module 'XXX': Could not resolve member reference: 
[Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a]System.Threading.Tasks.TaskEx::Delay.
[Errors and Warnings] (Global)
4

1 回答 1

0

您无法通过名称访问应用程序栏按钮。

像这样的东西应该工作

  // Get the current application bar
  ApplicationBar thebar = this.ApplicationBar as ApplicationBar;

  // You need to know the index of the button in the collection and grab it
  ApplicationBarIconButton thebutton = thebar.Buttons[0] as ApplicationBarIconButton;

   //change the icon image
  thebutton.IconUri = new Uri("/Images/YourImage2.png", UriKind.Relative);
于 2013-04-05T10:32:05.470 回答