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 (Uniform Resource Identifier) 値にソースを設定しても、エラーはスローされません。 代わりに、ImageBrush で ImageFailed イベントを発生させます。 イメージ ソース ファイルが正しく読み込まれたことを確認する場合は、検証のために ImageOpened を処理し、フォールバック イメージ ソースを提供したり UI を再計算したりする方法として ImageFailed を処理できます。
XAML での ImageSource の設定
このプロパティは XAML で設定できますが、この場合は ImageSource 属性値を Uniform Resource Identifier (URI) を表す文字列として設定します。 この動作は、文字列を Uniform Resource Identifier (URI) として処理する基になる型変換に依存し、 BitmapImage(Uri) コンストラクターと同等の内部を呼び出します。
ImageFailed イベントは、XAML の初期 ImageSource 属性値で有効なソースが指定されていない場合に発生する可能性があります。 相対パスを使用して、アプリでパッケージ化したイメージを参照するか、絶対 Uniform Resource Identifier (URI) を使用してサーバーからイメージを参照できます。 アプリの一部としてパッケージ化されたイメージ ソースを使用している場合は、 ms-appx または ms-resource スキームを使用するのが一般的です。
コードでの ImageSource の設定
コードを使用して ImageBrush を定義する場合、ImageBrush.ImageSource には、コードに BitmapImage (UNIFORM Resource Identifier (URI) ではなく) が必要です。 ソースがストリームである場合は、SetSourceAsync メソッドを使って値を初期化します。 ソースが、ms-appx または ms-resource スキームを使用するアプリ内のコンテンツを含むファイルを参照する Uniform Resource Identifier (URI) の場合は、Uniform Resource Identifier (URI) を受け取る BitmapImage コンストラクターを使用します。 画像ソースが使えるようになるまで代替コンテンツを表示することが必要であるなど、画像ソースの取得やデコードについてタイミングの問題がある場合は、ImageOpened イベントを処理することも検討してください。 コード例については、「 XAML イメージのサンプル 」を参照してください。
リソース要求のスコープ設定に役立つ UI 内の別のオブジェクトに関連して URI を作成する必要がある場合は、UI 内の別のオブジェクトで呼び出される FrameworkElement.BaseUri プロパティを使用できます。 これにより、XAML ページがアプリのプロジェクト構造内から取得されるベース URI が提供されます。
注意
現在のスケール修飾子とカルチャ修飾子を使用して非修飾リソースにアクセスする場合は自動処理を使用できます。また、 ResourceManager と ResourceMap をカルチャとスケールの修飾子と共に使用してリソースを直接取得することもできます。 詳しくは、「リソース管理システム」をご覧ください。
画像ソースとスケーリング
Windows 8スケーリング時にアプリが適切に表示されるように、いくつかの推奨サイズでイメージ ソースを作成する必要があります。 ImageBrush に ImageSource を指定する場合は、現在のスケーリングに適したリソースを自動的に参照する名前付け規則を使用できます。 この名前付け規則の詳細や関連情報については、「クイック スタート: ファイルまたは画像リソースの使用」をご覧ください。
スケーリングの設計方法の詳細については、「 レイアウトとスケーリングの UX ガイドライン」を参照してください。
アプリ リソースの詳細と、アプリでイメージ ソースをパッケージ化する方法については、「 アプリ リソースの定義」を参照してください。