Xaml AppBarButton.Icon不';不要在运行时更改
根据某些条件,我在运行时更新AppBarButton图标时遇到问题Xaml AppBarButton.Icon不';不要在运行时更改,xaml,windows-runtime,windows-phone-8.1,win-universal-app,Xaml,Windows Runtime,Windows Phone 8.1,Win Universal App,根据某些条件,我在运行时更新AppBarButton图标时遇到问题 <AppBarButton x:Name="WeekButton" Click="OnClick" Label="SomeText" </AppBarButton> 但什么也没发生。按钮没变。但是,在代码工作的任何随机时间,它都可能更改按钮。我总是看到,图标在代码中是新的,但在屏幕上不是。UpdateLayout没有任何帮助。 非常感谢您的帮助。 谢谢 更新: 它似乎不适用于FontIcon,就像Bitma
<AppBarButton x:Name="WeekButton" Click="OnClick" Label="SomeText"
</AppBarButton>
但什么也没发生。按钮没变。但是,在代码工作的任何随机时间,它都可能更改按钮。我总是看到,图标在代码中是新的,但在屏幕上不是。UpdateLayout没有任何帮助。
非常感谢您的帮助。
谢谢
更新:
它似乎不适用于FontIcon,就像BitmapIcon一样,更改一切都可以正常工作。强制无效范围,它就可以工作了
WeekButton.Icon = new FontIcon() { Glyph = "\uE29B", FontFamily = new FontFamily("Segoe UI Symbol")};
WeekButton.InvalidateArrange();
尝试使用
IconUri
给出值
WeekButton.IconUri = new Uri("/Images/pause.png", UriKind.Relative);
参考资料:我相信您已经找到了带有位图图标的解决方案。 但是有些人到了这一页想知道解决方案,比如我 下面是使用位图图标和动态更改应用程序栏按钮图标
BitmapIcon _bitmapIcon = new BitmapIcon();
_bitmapIcon.UriSource = new Uri("ms-appx:///Assets/yourBitmapIcon.png");
WeekButton.Icon = _bitmapIcon;
谢谢,但实际上没有,因为这是通用winrt应用程序,而不是wp Silverlight。另一个问题是,我对图标使用运行时值,因此uri也不起作用。不幸的是,按钮仍然随机更新,并非每次都是如此(
BitmapIcon _bitmapIcon = new BitmapIcon();
_bitmapIcon.UriSource = new Uri("ms-appx:///Assets/yourBitmapIcon.png");
WeekButton.Icon = _bitmapIcon;