有时UI在属性更改时不会更改

时间:2014-12-15 07:20:29

标签: windows-runtime windows-phone-8.1

我的项目中有这个XAML代码:

<Page.BottomAppBar>
    <CommandBar>
        <CommandBar.PrimaryCommands>
            <AppBarButton Label="favorite"
                          Click="AppBarButton_Click">
                <AppBarButton.Icon>
                    <FontIcon FontFamily="Segoe UI Symbol"
                              Name="appFontIcon"
                              Glyph="&#xE0A5;" />
                </AppBarButton.Icon>
            </AppBarButton>
        </CommandBar.PrimaryCommands>
    </CommandBar>
</Page.BottomAppBar>

AppBarButton的Click事件是:

private void AppBarButton_Click(object sender, RoutedEventArgs e)
{
    if (appFontIcon.Glyph == "\xE0A5")
    {
        appFontIcon.Glyph = "\xE006";
    }
    else
        appFontIcon.Glyph = "\xE0A5";            
}

当我点击AppBarButton时, Glyph属性总是会改变,但是在用户界面上,有时Icon会改变,有时它不会改变。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要使用AppBarToggleButton来实现您的目标。

试试这个without the code behind

<Page.BottomAppBar>
    <CommandBar>
        <CommandBar.PrimaryCommands>
            <AppBarToggleButton  Label="favorite">
                <AppBarToggleButton.Icon>
                    <FontIcon FontFamily="Segoe UI Symbol"
                              Name="appFontIcon"
                              Glyph="&#xE0A5;" />
                </AppBarToggleButton.Icon>
            </AppBarToggleButton>
        </CommandBar.PrimaryCommands>
    </CommandBar>
</Page.BottomAppBar>