如何在C#代码中更改Fontawesome.wpf图标

问题描述 投票:1回答:1

我对使用wpf编程非常陌生,所以这可能很基础,但是我不知道如何动态地更改按钮的FontAwesome图标(在C#代码中)。我使用本文here中所述的nuget包。但是最后一部分:

最后在您的C#代码后面:

using FontAwesome.WPF; // on the top of the code
btnButton.Content = FontAwesomeIcon.LongArrowRight;

对我不起作用,因为单击按钮后仅显示文本“ LongArrowRight”。

这是我的代码:

<Window
...
xmlns:fa="http://schemas.fontawesome.io/icons/">

<Grid>
    <Button x:Name="btnPlay" Click="btnPlay_Click">
        <Button.Content>
            <fa:ImageAwesome Icon="Play"/>
        </Button.Content>
    </Button>
</Grid>

</Window>
using FontAwesome.WPF; // at the top

private bool running = false;
private void btnPlay_Click(object sender, RoutedEventArgs e)
{
     if (running) 
     {
         running = false;
         btnPlay.Content = FontAwesomeIcon.Play;
     }
     else
     {
          running = true;
          btnPlay.Content = FontAwesomeIcon.Stop;
     }
}

如前所述,当单击按钮时,它不显示图标,而仅显示文本“停止”,再次按下时显示“播放”。

c# wpf font-awesome
1个回答
0
投票

FontAwesomeIcon是枚举。将枚举值分配给Button.Content时,它将显示为文本。

您需要为内容分配ImageAwesome元素:

btnPlay.Content = new ImageAwesome { Icon = FontAwesomeIcon.LongArrowRight };
btnPlay.Content = new ImageAwesome { Icon = FontAwesomeIcon.Play };
btnPlay.Content = new ImageAwesome { Icon = FontAwesomeIcon.Stop };
© www.soinside.com 2019 - 2024. All rights reserved.