2011-10-19 13 views
1

私は画像ビューアアプリケーションを開発しており、それに新しい機能を追加したいと思います。 この時まで、私はXAML Height="422" Width="444"にImageコントロールのサイズを固定しているが、私はページ上のすべての可能なスペースを使用したいと、それはそうWP7開発、コードから画像コントロールのサイズを変更

var stream = new IsolatedStorageFileStream(path, FileMode.Open, _file); 
      var image = new BitmapImage(); 
      image.SetSource(stream); 
      stream.Close(); 
      if (image1 != null) image1.Source = image; 

背後Width="447" Height="585"

<StackPanel Height="422" Width="444"> 
          <Image Height="414" HorizontalAlignment="Center" Margin="9,6,0,0" Name="image2" Stretch="Uniform" VerticalAlignment="Center" Width="441" /> 
         </StackPanel> 

コードです私の質問は:

  1. Imageコントロールのサイズをコードの背後から設定できるので、画像はに収まるようになりますサイズ、私はポートレートと風景の両方の写真を持っていますか?
  2. 私は肖像画と風景の向きをサポートする必要があるので、向きが変わったときには新しいサイズWidth="585" Height="447"に合わせて写真を作りたいと思います。 (私が最初に解決策を見つけるかどうかは、私が必要と思う以上にこれを処理するための正しいイベントだと思う)これに似て(http://stackoverflow.com/questions/6857142/handling-size-of-image-after- orientation-change-wp7)、理解するためにいくつかのコードを見る必要があります。

"古典的な"ダイアログを防止するために、コードやリンクを投稿してください。一人でこれを行う方法が簡単であると思っています。

答えて

4

画像コントロールのサイズは、幅と高さのプロパティで直接変更できます。

image2.Width = "447"; 
image2.Height = 585; 

あなたは正しく、あなたが姿勢変更があなたのページのOrientationChangedイベントを処理処理するためのプロパティストレッチ

image2.Stretch = Stretch.UnifromToFill; 

使用できるイメージコントロールであなたの写真に収まるようにしたいとイメージ操作を行うとその後、次のイベントがreaisedされる向きを変えたときに、それ

0

内、

を、このいずれかを試してみてください。

private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e) 
    { 
     if (this.Orientation == PageOrientation.Portrait) 
     { 
      optionsup.VerticalOffset = 447; 
      optionsup.HorizontalOffset = 585; 
     } 
     else 
     { 
      optionsup.VerticalOffset = 585; 
      optionsup.HorizontalOffset = 447; 
     } 
    } 

は、当初の向きは、

  optionsup.VerticalOffset = 447; 
      optionsup.HorizontalOffset = 585; 

英語で私が悪い、間違いが心をいけない場合PortraitUpです。

0

回答ありがとうございました。私はこのようにしました:<Image Height="Auto" Width="Auto"Name="image1" Stretch="UniformToFill"/>ですので、Silverlightはすべて私の仕事をします。

関連する問題