2

Imagewpf アプリケーションに動的に追加したい。

私が試したこと:

            Image img = new Image();
            img.Height = 100;
            img.Width = 100;
            img.Visibility = Visibility.Visible;

            Thickness th = new Thickness(100, 100, 0, 0);
            img.Margin = th;

            string strUri2 = String.Format(@"pack://application:,,,/MyFirstWPF;component/Images/tt.jpg");
            img.Source = new BitmapImage(new Uri(strUri2));

コンテンツに追加しない限り、画像は表示されません。

this.Content=img;

ただし、これにより、アプリの既存のコントロール (形状) が失われます。

さて、私の質問は、アプリから既存のコントロールを失わずに画像をコンテンツに追加する方法です。

4

2 に答える 2

7

画像を動的に読み込んで表示する場合でも、アプリケーションのレイアウトについて考える必要があります。XAML (たとえばグリッド) に (最初は空の) Image コントロールを追加し、後でSourceコードでこのコントロールのプロパティを設定することをお勧めします。

<Grid>
    ... other controls ...
    <Image Name="img" Grid.Row="..." Grid.Column="..."
           Width="100" Height="100" Margin="100,100,0,0"/>
</Grid>

Sourceコードで設定:

var uri = new Uri("pack://application:,,,/MyFirstWPF;component/Images/tt.jpg");     
img.Source = new BitmapImage(uri);
于 2012-08-19T10:48:23.577 に答える
1

デフォルトでは、ウィンドウのコンテンツはグリッドなので、試してみてください

(this.Content as Grid).Children.Add(img);
于 2012-08-19T10:26:48.787 に答える