ImageBrush.ImageSource Properti

Definisi

Mendapatkan atau mengatur sumber gambar yang ditampilkan oleh ImageBrush ini. Dalam kode Anda mengatur ini dengan instans subkelas ImageSource , di XAML Anda mengatur ini dengan URI ke file sumber gambar.

public:
 property ImageSource ^ ImageSource { ImageSource ^ get(); void set(ImageSource ^ value); };
ImageSource ImageSource();

void ImageSource(ImageSource value);
public ImageSource ImageSource { get; set; }
var imageSource = imageBrush.imageSource;
imageBrush.imageSource = imageSource;
Public Property ImageSource As ImageSource
<ImageBrush ImageSource="imageUri"/>

Nilai Properti

Objek yang mewakili sumber gambar, yang akan ditampilkan oleh ImageBrush ini saat diterapkan ke konten.

Keterangan

Mengatur sumber gambar dari file sumber gambar atau aliran secara inheren adalah tindakan asinkron. Mengatur sumber ke nilai Pengidentifikasi Sumber Daya Seragam (URI) yang tidak dapat diselesaikan ke file sumber gambar yang valid tidak menimbulkan kesalahan. Sebaliknya, ini menembakkan peristiwa ImageFailed pada ImageBrush. Jika Anda ingin memverifikasi bahwa file sumber gambar dimuat dengan benar, Anda dapat menangani ImageOpened untuk verifikasi, ditambah ImageFailed sebagai cara untuk menyediakan sumber gambar fallback atau menyusun ulang UI Anda.

Mengatur ImageSource di XAML

Anda dapat mengatur properti ini di XAML, tetapi dalam hal ini Anda mengatur nilai atribut ImageSource sebagai string yang mewakili Pengidentifikasi Sumber Daya Seragam (URI). Perilaku ini bergantung pada konversi jenis yang mendasar yang memproses string sebagai Pengidentifikasi Sumber Daya Seragam (URI), dan memanggil setara internal konstruktor BitmapImage(Uri ).

Peristiwa ImageFailed dapat terjadi jika nilai atribut ImageSource awal di XAML tidak menentukan sumber yang valid. Anda dapat menggunakan jalur relatif untuk mereferensikan gambar yang Anda kemas dengan aplikasi, atau Pengidentifikasi Sumber Daya Seragam (URI) absolut untuk mereferensikan gambar dari server. Jika Anda menggunakan sumber gambar yang dikemas sebagai bagian dari aplikasi Anda, biasanya menggunakan skema ms-appx atau ms-resource .

Mengatur ImageSource dalam kode

Jika Anda menentukan ImageBrush menggunakan kode, ImageBrush.ImageSource memerlukan BitmapImage (bukan Pengidentifikasi Sumber Daya Seragam (URI)) dalam kode. Jika sumber Anda adalah aliran, gunakan metode SetSourceAsync untuk menginisialisasi nilai. Jika sumber Anda adalah Pengidentifikasi Sumber Daya Seragam (URI) yang mereferensikan file, yang mencakup konten di aplikasi Anda yang menggunakan skema ms-appx atau ms-resource , gunakan konstruktor BitmapImage yang mengambil Pengidentifikasi Sumber Daya Seragam (URI). Anda mungkin juga mempertimbangkan untuk menangani peristiwa ImageOpened jika ada masalah waktu dengan mengambil atau mendekode sumber gambar, di mana Anda mungkin memerlukan konten alternatif untuk ditampilkan hingga sumber gambar tersedia. Lihat sampel gambar XAML misalnya kode.

Jika Anda perlu membuat URI sehubungan dengan objek lain di UI untuk membantu mencakup permintaan sumber daya, Terkadang Anda dapat menggunakan properti FrameworkElement.BaseUri seperti yang dipanggil pada objek lain di UI. Ini menyediakan URI dasar tempat halaman XAML berasal dari dalam struktur proyek aplikasi.

Catatan

Anda dapat menggunakan penanganan otomatis untuk mengakses sumber daya yang tidak memenuhi syarat dengan kualifikasi skala dan budaya saat ini, atau Anda dapat menggunakan ResourceManager dan ResourceMap dengan kualifikasi untuk budaya dan skala untuk mendapatkan sumber daya secara langsung. Untuk informasi selengkapnya lihat Sistem manajemen sumber daya.

Sumber dan penskalakan gambar

Anda harus membuat sumber gambar pada beberapa ukuran yang direkomendasikan, untuk memastikan bahwa aplikasi Anda terlihat hebat saat Windows 8 menskalakannya. Saat menentukan ImageSource untuk ImageBrush, Anda dapat menggunakan konvensi penamaan yang akan secara otomatis mereferensikan sumber daya yang benar untuk penskalaan saat ini. Untuk detail konvensi penamaan dan info selengkapnya, lihat Mulai Cepat: Menggunakan sumber daya file atau gambar.

Untuk informasi selengkapnya tentang cara merancang penskalaan, lihat Panduan UX untuk tata letak dan penskalaan.

Untuk informasi selengkapnya tentang sumber daya aplikasi dan cara mengemas sumber gambar di aplikasi, lihat Menentukan sumber daya aplikasi.

Catatan untuk versi sebelumnya

Windows 8

Windows 8 mengalami masalah dengan resolusi ImageSource dari nilai URI atribut XAML, jika ImageBrush adalah bagian dari gaya atau templat XAML yang diterapkan ke kontrol. Penggunaan kontrol terkadang akan menggunakan URI dasar khusus komponen daripada URI dasar yang sesuai untuk gaya atau templat, yang biasanya berasal dari aplikasi. Masalah diperbaiki dimulai dengan Windows 8.1; URI dasar ditentukan dengan benar untuk sumber daya aplikasi atau sumber daya komponen tergantung pada cakupan yang membutuhkan URI dasar. Aplikasi yang dikompilasi untuk Windows 8 mungkin telah menggunakan solusi untuk perilaku ini, dengan menempatkan file sumber gambar mereka di tempat "salah", di mana URI XAML akan mengatasinya dan aplikasi akan menampilkan gambar. Jika Anda memigrasikan XAML dari Windows 8 ke Windows 8.1, Anda harus menguji penggunaan ImageBrush apa pun dalam gaya atau templat dari XAML Anda dan memverifikasi bahwa resolusi gambar di aplikasi Anda berfungsi dengan Windows 8.1. Jika Anda memiliki masalah, Anda harus memindahkan file sumber gambar dalam paket sehingga berada dalam cakupan sumber daya yang benar untuk perilaku baru.

Aplikasi yang dikompilasi untuk Windows 8 tetapi berjalan di Windows 8.1 terus menggunakan perilaku Windows 8.

Berlaku untuk

Lihat juga