ImageBrush Classe

Definizione

Disegna un'area con un'immagine. L'origine dell'immagine viene in genere ottenuta da formati di file come Joint Photographic Experts Group (JPEG).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Ereditarietà
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Questo esempio XAML illustra come impostare la proprietà Foreground di un oggetto TextBlock su un ImageBrush, la cui immagine viene usata come riempimento per il testo di cui è stato eseguito il rendering di TextBlock.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
Oggetto ImageBrush applicato al testo

Commenti

ImageBrush è un tipo di pennello che definisce il contenuto come immagine che può essere facoltativamente estesa e allineata. Gli usi per un oggetto ImageBrush includono effetti decorativi per lo sfondo del testo o dell'immagine per i controlli o i contenitori di layout.

È utile usare ImageBrush anziché un controllo Image In due scenari principali:

  1. Si vuole disegnare un'area non rettangolare, ad esempio un'ellisse o un bordo con un'immagine
  2. Si vuole usare un singolo ImageBrush per disegnare più aree o UIElements con la stessa immagine, che è più efficiente rispetto all'uso di più controlli Image

Se si definisce un oggetto ImageBrush usando il codice, usare il costruttore predefinito, quindi impostare ImageBrush.ImageSource. Ciò richiede un oggetto BitmapImage (non un URI )Uniform Resource Identifier (Uniform Resource Identifier) nel codice. Se l'origine è un flusso, usa il metodo SetSourceAsync per inizializzare il valore. Se l'origine è un URI (Uniform Resource Identifier), che include il contenuto nell'app che usa gli schemi ms-appx o ms-resource , usare il costruttore BitmapImage che accetta un URI (Uniform Resource Identifier). Puoi anche valutare se gestire l'evento ImageOpened in caso di problemi di tempo con il recupero o la decodifica dell'origine dell'immagine, per cui potresti decidere di alternare il contenuto da visualizzare finché l'origine dell'immagine non diventa disponibile. Per esempio, vedere l'esempio di immagini XAML .

Nota

È possibile usare la gestione automatica per accedere alle risorse non qualificate con qualificatori di scalabilità e impostazioni cultura correnti oppure è possibile usare ResourceManager e ResourceMap con qualificatori per le impostazioni cultura e la scalabilità per ottenere direttamente le risorse. Per altre informazioni, vedi Sistema gestione risorse.

La proprietà Stretch è importante per la modalità di applicazione dell'immagine quando viene usata come pennello. Alcune immagini sembrano valide quando si estende come applicato a una determinata proprietà Brush con il comportamento fill , mentre altre immagini non si estendono o ridimensionano correttamente e potrebbero richiedere un valore none o Uniforme per Stretch. Sperimentare valori diversi per Stretch per visualizzare il comportamento migliore quando applicato all'interfaccia utente.

Origini delle immagini e ridimensionamento

È consigliabile creare le origini immagini in diverse dimensioni consigliate, per assicurarsi che l'app sia ottimale quando Windows 8 ridimensionarlo. Quando si specifica imageSource per un oggetto ImageBrush , è possibile usare una convenzione di denominazione che farà riferimento automaticamente alla risorsa corretta per il ridimensionamento corrente. Per le specifiche della convenzione di denominazione e ulteriori informazioni, vedi Guida introduttiva: Utilizzare risorse di file o immagine.

Per altre informazioni su come progettare per il ridimensionamento, vedere Linee guida per l'esperienza utente per il layout e la scalabilità.

Note per le versioni precedenti

Windows 8

Windows 8 si è verificato un problema con la risoluzione imageSource da un valore URI dell'attributo XAML, se ImageBrush fa parte di uno stile o un modello XAML applicato a un controllo. L'utilizzo del controllo a volte usa un URI di base specifico del componente anziché l'URI di base appropriato per lo stile o il modello, che in genere proviene dall'app. Il problema viene risolto a partire da Windows 8.1. L'URI di base viene determinato correttamente per le risorse dell'app o i componenti a seconda dell'ambito che necessita dell'URI di base. Le app compilate per Windows 8 potrebbero essere state usate soluzioni alternative per questo comportamento, inserendo i file di origine dell'immagine nel posto "errato", in cui l'URI XAML verrebbe risolto e l'app mostrerebbe le immagini. Se si esegue la migrazione di XAML da Windows 8 a Windows 8.1 è necessario testare gli usi di ImageBrush in uno stile o un modello dal codice XAML e verificare che la risoluzione dell'immagine nell'app funzioni con Windows 8.1. Se si verifica un problema, è necessario spostare i file di origine immagine all'interno del pacchetto in modo che si trovino nell'ambito della risorsa corretto per il nuovo comportamento.

Le app create per Windows 8 che vengono eseguite in Windows 8.1 continuano a usare il comportamento di Windows 8.

Costruttori

ImageBrush()

Inizializza una nuova istanza della classe ImageBrush .

Proprietà

AlignmentX

Ottiene o imposta l'allineamento orizzontale del contenuto nel riquadro di base TileBrush .

(Ereditato da TileBrush)
AlignmentY

Ottiene o imposta l'allineamento verticale del contenuto nel riquadro della base TileBrush .

(Ereditato da TileBrush)
Dispatcher

Ottiene CoreDispatcher associato a questo oggetto. CoreDispatcher rappresenta una struttura che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non interfaccia utente.

(Ereditato da DependencyObject)
ImageSource

Ottiene o imposta l'origine dell'immagine visualizzata da imageBrush. Nel codice impostato con un'istanza di sottoclasse ImageSource , in XAML si imposta questo oggetto con un URI su un file di origine immagine.

ImageSourceProperty

Identifica la proprietà di dipendenza ImageSource .

Opacity

Ottiene o imposta il grado di opacità di un pennello.

(Ereditato da Brush)
RelativeTransform

Ottiene o imposta la trasformazione applicata al pennello usando coordinate relative.

(Ereditato da Brush)
Stretch

Ottiene o imposta un valore che specifica il modo in cui il contenuto di questo TileBrush si estende per adattare i riquadri.

(Ereditato da TileBrush)
Transform

Ottiene o imposta la trasformazione applicata al pennello.

(Ereditato da Brush)

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da un oggetto DependencyObject.

(Ereditato da DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Quando sottoposto a override in una classe derivata, definisce una proprietà che può essere animata.

(Ereditato da Brush)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se viene impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Eventi

ImageFailed

Si verifica quando si verifica un errore associato al recupero o al formato dell'immagine.

ImageOpened

Si verifica quando l'origine dell'immagine viene scaricata e decodificata senza errori. È possibile usare questo evento per determinare le dimensioni di un'immagine prima di eseguire il rendering.

Si applica a

Vedi anche