Сделать контроль изображения, переверните его цвета в зависимости от темы

StackOverflow https://stackoverflow.com/questions/4656880

Вопрос

Я пытаюсь выработать, как иметь Image Контроль в моем приложении Windows Phone переверните его цвета на основе глобальной настройки фона (либо «темный», либо «свет»), выбранный пользователем в настройках -> Тема-> Фон.

Это было полезно?

Решение

Нет встроенного способа инвертирования цветов изображения в рамках.

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

Другие советы

Я должен добавить, что то, что я сделал в конце концов, было продолжением того, что написал Мэтт.

  • Создайте два разных изображения, которые имеют разные версии изображения (темные и светлые) и поместите их в то же самое положение
  • Установите их видимость на основе тематического ресурса

Код выглядит так:

<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgDark" Stretch="Fill" Visibility="{StaticResource PhoneLightThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageDarkTheme.png" />
<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgLoading" Stretch="Fill" Visibility="{StaticResource PhoneDarkThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageLightTheme.png" />

Этот вопрос сейчас 1,5 года. Но здесь самый простой способ сделать то, что вы хотите. Пример, приведенный там очень просто

<Button>
    <Image Stretch="None" Source="{Binding Converter={StaticResource ThemedImageConverter}, ConverterParameter={StaticResource PhoneBackgroundColor} }"
           DataContext="/WP7SampleProject4;component/Images/{0}/appbar.feature.camera.rest.png" />
</Button>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top