AppBarButton.Icon在运行时没有变化

时间:2015-01-21 14:25:03

标签: xaml windows-runtime windows-phone-8.1 win-universal-app

我在运行时根据某些条件更新AppBarButton Icon时出现问题。

<AppBarButton x:Name="WeekButton" Click="OnClick" Label="SomeText"

</AppBarButton>

我正在尝试使用此代码更新某些代码中的Icon属性

WeekButton.Icon = new FontIcon() { Glyph = Runtime_Value_Here};

但没有任何反应。按钮不会改变。但是在代码工作的任何随机时间,它可以改变按钮。我总是看到,Icon是新代码,但不是屏幕上的。 UpdateLayout都没有帮助。 非常感谢任何帮助。 感谢

更新 它似乎不适用于FontIcon,因为BitmapIcon改变一切正常。

3 个答案:

答案 0 :(得分:2)

强制InvalidateArrange并且它可以正常工作

WeekButton.Icon = new FontIcon() { Glyph = "\uE29B", FontFamily = new FontFamily("Segoe UI Symbol")};
WeekButton.InvalidateArrange();

答案 1 :(得分:2)

我相信你已经找到了带位图图标的解决方案。 但有些人到了这个页面,想要知道像我这样的解决方案,

这里使用位图图标并动态更改app-bar按钮图标。

BitmapIcon _bitmapIcon = new BitmapIcon();
_bitmapIcon.UriSource = new Uri("ms-appx:///Assets/yourBitmapIcon.png");
WeekButton.Icon = _bitmapIcon;

答案 2 :(得分:0)

尝试使用IconUri来提供值。

WeekButton.IconUri = new Uri("/Images/pause.png", UriKind.Relative);

参考:Disable/Enable applicationbar Button in runtime with event textchanged (Windows Phone)