我的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)
答案 0 :(得分: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);