« 2012年2月 | トップページ | 2014年2月 »

2012年4月

WindowsPhoneアプリ開発その1

SilverlightでWindowsPhoneのアプリ開発に挑戦中。

とは言っても簡単なサンプルをちょっと膨らませて色々といじってみているだけの状態ですが。

どうしても解決できなかったもの。
ImageのSourceで、ローカルファイルを指定する部分。

複数の画像を処理したかったので配列で↓のように記述。

public string[] photos = new string[3] { "/project1;component/Images/01.png", "/project1;component/Images/02.png", "/project1;component/Images/03.png" };

Random random = new Random();
// ランダムに表示する画像を選択
var path = photos[random.Next(photos.Length)];


// BitmapImageに画像を読み込み、画面に表示させます。
var image = new BitmapImage();
image.UriSource = new Uri(path, UriKind.Absolute);
backimage.Source = image;

こんな感じでセットするのに、読み込んでくれない。
画像が抜け落ちて動きます。


いろいろと記述を試してみたのですが・・・苦肉の策でネットワーク上に置いて、絶対パスで指定してみたら?
ということで、配列の部分を↓のようにしてみました。

public string[] photos = new string[3] { "http://www.****.com/hoge/image/01.png", "http://www.****.com/hoge/image/02.png", "http://www.****.com/hoge/image/03.png" };

今度はOKでした。
ネットワークに接続できなかった時にデフォルトで表示する画像を用意することにしました。
サーバ側で自由に画像を差し替えられるから、結果オーライなのかな…。

それから、画像を読み込むときにフェードインしようとしてまた試行錯誤。


Storyboard.TargetProperty="Opacity"
From="0.0" To="1.0" Duration="0:0:2"
Storyboard.TargetName="image"
AutoReverse="false" RepeatBehavior="1x" />

キモは『RepeatBehavior="1x"』です。
RepeatBehavior="1" と記述すると無限で繰り返してくれちゃってました。
RepeatBehavior="Forever"とどう違うんだろう・・・??

| | コメント (1) | トラックバック (0)

« 2012年2月 | トップページ | 2014年2月 »