visualstudio-如何从C#更改ApplicationBar上的图像

本文关键字:ApplicationBar 图像 更改 visualstudio- | 更新日期: 2023-09-27 17:57:56

我有一个小的C#项目,它有一个ApplicationBar。但我有一个小问题:我想在工具栏上显示8个图标,而ApplicationBar只支持4个。我想出了一个解决方案(在C#中):添加一个小复选框来询问用户是想使用第一组工具还是第二组工具

但我仍然无法更改应用程序栏上的图标。我试着去掉旧的,先用ApplicationBar.MenuItems.Remove(Button1);,然后用ApplicationBar.Buttons.Remove(Button1); ,但都不起作用。我尝试更改按钮的.IconUri属性,但这给了我一个NullReferenceException。

visualstudio-如何从C#更改ApplicationBar上的图像

我不明白你把它从"C#,而不是Silverlight"改成什么意思。C#是一种编程语言,Silverlight是一个框架。尽管如此,你发布的链接确切地解释了你是如何做到的。ApplicationBar不是Silverlight控件,它是本机操作系统的一部分。你可以使用链接中的代码,也可以这样做:

firstAppBarButton = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
firstAppBarButton.Text = "New Text";
firstAppBarButton.IconUri = new Uri("/appbarIcon.png",UriKind.Relative);

您需要通过索引(0表示第一个,1表示第二个等等)而不是通过名称来获取ApplicationBarIconButton

您不能按名称引用应用程序按钮。尝试:

((ApplicationBarIconButton)ApplicationBar.Buttons[0]).Remove

我还建议您不要向用户呈现两组4个图标。限制为4是有原因的。除此之外,还需要用户界面重新思考。也许可以将功能划分为几页?

上面的语法给了我一个编译错误。通过一些额外的研究,我得到了这个对我有用的东西:

ApplicationBar.Buttons.Remove((ApplicationBarIconButton) ApplicationBar.Buttons[0]);