フラクタル画像を生成しようとしていて、アプリが読み込まれたときに画像を表示しようとしています。これは、ボタンをクリックしてウィンドウのサイズを変更するなどのイベントでは機能しますが、アプリを最初に開いたときには機能しません。UWPアプリを開いたときに生成された画像を表示するにはどうすればよいですか?
XAMLは次のとおりです。
<Viewbox Grid.Row="1" x:Name="Scenario4ImageContainer" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" PointerPressed="Scenario4ImageContainer_PointerPressed">
<Image x:Name="Scenario4Image" />
</Viewbox>
コードがある:あなたが有効にするには、Windows用
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
generator.Width = (int)imageColumn.ActualWidth; ;
generator.Height = (int)imageRow.ActualHeight; ;
generator.InitMap();
generator.Generate();
fractalBitmap = await colorer.Color(generator.Map);
Scenario4Image.Source = fractalBitmap;
fractalBitmap.Invalidate();
//This works...
//Scenario4Image.Source = new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png"));
}
注:ImageboxをViewboxに配置する必要はありません。 ImageコントロールのStretchプロパティを適切に設定するだけです。それ以外に、 'imageColumn.ActualWidth'と' imageRow.ActualHeight'が0より大きいかどうかチェックしましたか? – Clemens
私はチェックして、幅と高さが明らかにゼロよりも大きいです。それらは正しい値です。 – MichaelG