ImageBrush.ImageSource 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定由此 ImageBrush 顯示的影像來源。 在程式碼中,你用 ImageSource 子類別實例來設定,在 XAML 裡則用 URI 把它設成影像原始碼檔案。
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"/>
屬性值
一個代表影像來源的物件,當被這個 ImageBrush 套用到內容時會顯示出來。
備註
從影像來源檔案或串流設定影像來源本質上是一種非同步操作。 將原始碼設為無法解析為有效影像原始檔案的統一資源識別碼(URI)值,則不會丟出錯誤。 取而代之的是,它會在 ImageBrush 上觸發 ImageFailed 事件。 如果你想驗證圖片來源檔案是否正確載入,可以用 ImageKept 來驗證,再加上 ImageFailed 作為備份圖片來源或重新組合介面的方式。
在 XAML 中設定 ImageSource
你可以在 XAML 中設定這個屬性,但此處你是將 ImageSource 屬性值設定為代表統一資源識別碼(URI)的字串。 此行為依賴底層型別轉換,將字串處理為統一資源識別碼(URI),並呼叫內部相當於 BitmapImage(Uri) 建構子的結構。
如果 XAML 中的初始 ImageSource 屬性值未指定有效來源,則可能發生 ImageFailed 事件。 你可以使用相對路徑來參考你在應用程式中打包的圖片,或使用絕對統一資源識別碼(URI)來參考伺服器上的圖片。 如果你使用的是作為應用程式一部分的影像來源,通常會使用 ms-appx 或 ms-resource 方案。
在程式碼中設定 ImageSource
如果你用程式碼定義 ImageBrush,ImageBrush.ImageSource 需要在程式碼中使用 BitmapImage(而非統一資源識別碼(URI))。 如果您的來源是資料流,則使用 SetSourceAsync 方法初始化該值。 如果你的來源是引用檔案的統一資源識別碼(URI),其中包含應用程式中使用 ms-appx 或 ms-resource 方案的內容,請使用 BitmapImage 建構器,該建構器採用統一資源識別碼(URI)。 如果有任何與影像來源的擷取或解碼相關的時機問題,您也可以考慮處理 ImageOpened 事件,在這種情況下,您可能需要在影像來源可供使用前先顯示替代內容。 請參考 XAML 圖片範例 程式碼。
如果你需要在 UI 中與另一個物件組合 URI 來幫助設定資源請求範圍,有時你可以在 UI 中另一個物件上使用 FrameworkElement.BaseUri 屬性。 這提供了一個基礎 URI,也就是應用程式專案結構中 XAML 頁面的來源。
Note
你可以使用自動處理來存取帶有當前規模與文化限定條件的未合格資源,或使用 ResourceManager 和 ResourceMap 的文化與規模限定條件直接取得資源。 如需詳細資訊,請參閱資源管理系統。
影像來源和縮放比例
你應該建立多個建議大小的圖片來源,確保你的應用程式在 Windows 8 放大時看起來很棒。 在指定 ImageBrush 的 ImageSource 時,可以使用命名慣例,自動參考當前縮放的正確資源。 有關命名慣例的詳細資料和更多資訊,請參閱快速入門:使用檔案或影像資源。
想了解更多如何設計縮放的資訊,請參閱版 面與縮放的使用者體驗指引。
如需更多關於應用程式資源及如何在應用程式中打包影像來源的資訊,請參閱 「定義應用程式資源」。