public AppModel() { // JPEG ファイルは DPI が異なる場合があります (既定では 96 だが、72 などもある)。 // Image コントロールに直接読み込ませると、DPI によりサイズが変化してしまいます。 ImageUrl .Subscribe(u => { var image = new BitmapImage(new Uri(u)); // ダウンロードの要否で分岐します。 if (image.IsDownloading) { image.DownloadCompleted += (o, e) => BitmapImage.Value = image; } else { BitmapImage.Value = image; } }); ImageUrl .Subscribe(_ => DetectAsync()); IsImageEmpty = ImageUrl .Select(u => u == null) .ToReadOnlyReactiveProperty(true); }