Как изменить элемент панели инструментов (логотип) для другой темы

#xamarin.forms

#xamarin.forms

Вопрос:

У меня вопрос. Мне нужно иметь несколько элементов панели инструментов, связанных с разными стилями. Я создал ресурсы темы и с помощью плагина настроек сохраняю разные темы. Однако я также хотел бы, чтобы для каждой темы были выделены разные элементы панели инструментов. Я попытался добавить свое изображение в словарь ресурсов следующим образом

 <ResourceDictionary>
    <Image x:Key="logo" Source="IconSettings.png"></Image>
</ResourceDictionary>
  

а затем в Xaml используйте его следующим образом

    <ToolbarItem IconImageSource="{DynamicResource logo}"/>
  

Но ничего не отображается. Может быть, у вас есть какие-либо предложения, даже другой подход?

Также пытались следовать этому решению https://forums.xamarin.com/discussion/152758/setting-icon-file-names-as-resources

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

1. Я думаю, вы можете попробовать изменить IconImageSource в коде, когда меняете тему. Используйте MessagingCenter для уведомления элементов панели инструментов.

Ответ №1:

Как вы можете видеть по предоставленной вами ссылке, почему бы вам не попробовать что-то подобное

 <ResourceDictionary>
    <x:String x:Key="logo">IconSettings.png</x:String>
</ResourceDictionary>
  

И используйте его в своем XAML.

Вы пытались добавить image на место string input , вот почему он вам ничего не показал

Дайте мне знать, работает ли он нормально или нет

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

1. Здравствуйте, я пробовал, но он не отображает значки на iOS, вместо этого есть пробел

2. да, это так, на Android это работает хорошо. Теперь я вижу его даже на своем, однако он не обновляется при смене темы, только если я выключаю и включаю приложение.