Domanda

Sto cercando di capire come avere un controllo Image nella mia applicazione Windows Phone invertito i suoi colori in base al fondo impostazione globale (o "Dark" o "Light") scelti dall'utente in Impostazioni-> Temi- > Sfondo.

È stato utile?

Soluzione

Non c'è costruito in modo di invertire i colori dell'immagine nel quadro.

Invece, a causa del sovraccarico di fare questo al telefono, è necessario creare due versioni dell'immagine in fase di progettazione / tempo di costruzione e quindi scegliere quale versione di visualizzazione dal codice rilevando Theme visibilità e l'opacità .

Altri suggerimenti

Devo aggiungere che quello che ho fatto, alla fine, era una continuazione di quello che Matt ha scritto.

  • creare due immagini diverse che hanno diverse versioni dell'immagine (chiaro e scuro) e metterli nella stessa identica posizione
  • impostare la loro visibilità in base alla risorsa tema

il look codice come questo:

<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" />

Questa domanda è di 1,5 anni ormai. Ma qui è il modo più semplice per fare quello che vuoi. L'esempio dato è molto semplice come

<Button>
    <Image Stretch="None" Source="{Binding Converter={StaticResource ThemedImageConverter}, ConverterParameter={StaticResource PhoneBackgroundColor} }"
           DataContext="/WP7SampleProject4;component/Images/{0}/appbar.feature.camera.rest.png" />
</Button>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top