Изображение SVG как значок для AppBarToggleButton должно выглядеть отключенным

#c# #uwp

#c# #uwp

Вопрос:

У меня есть a AppBarToggleButton , который имеет Image значение в качестве содержимого (значок кнопки). Источником изображения является SVG-файл. К сожалению, когда кнопка отключается, значок остается черным. Возможно ли также выделить значок серым цветом?

текст выделен серым цветом, значок не отображается.
введите описание изображения здесь (текст выделен серым цветом, значок отсутствует)

 <AppBarToggleButton x:Name="spellCheckingToggleButton" Label="Rechtschreibprüfung">
  <AppBarToggleButton.Content>
    <Image Source="/Assets/SpellChecking2.svg"></Image>
  </AppBarToggleButton.Content>
</AppBarToggleButton>
  

Комментарии:

1. Я протестировал его с несколькими другими значками svg, но я так и не получил ожидаемого результата. Смотрите Скриншот в моем отредактированном вопросе, чтобы увидеть, как это выглядит со значком входящих сообщений Stackoverflow. У вас есть какие-либо объяснения, почему в моих тестах это может выглядеть по-другому?

2. Я неправильно понял ваши вопросы ранее. Я думал, вы имеете в виду, что SVG отображается серым цветом, когда кнопка отключена. Изображение SVG должно оставаться черным. Это ожидаемо. Управление изображением не совпадает с SymbolIcon.

3. Возможно ли каким-либо образом изменить это поведение?

4. Ответ отрицательный. Если вы действительно хотите это реализовать, вы можете попробовать использовать два разных изображения SVG, одно обычное, а другое серое. Затем замените обычный на серый, когда кнопка отключена.

Ответ №1:

Я нашел обходной путь, чтобы значок тоже отображался отключенным. Я преобразовал значок (ы) в шрифт значка, который я использовал в FontIcon .

 <AppBarToggleButton x:Name="spellCheckingToggleButton" Label="Rechtschreibprüfung">
  <AppBarToggleButton.Content>
    <FontIcon FontFamily="Assets/iconfont.ttf#iconfont"  Glyph="amp;#xe900;" />
  </AppBarToggleButton.Content>
</AppBarToggleButton>