コラム:Silverlight 2.0ベータ1ではRepeatBehavior="1"と書いても無限に繰り返される不具合?
こちらのページ からSilverlight 2.0 ベータ1がダウンロード可能になっていたので、ダウンロード&インストールしました。そしたら、以前、 Silverlight1.1を入れるとSilverlight1.0のデータが見られない? で書いたようなことはなく、Silverlight 1.0用のデータも見られました。ただし、いきなり1.0と2.0β1で異なる動作を確認。
具体的には、Silverlight 1.0ではアニメーションの指定でRepeatBehavior="1"と書くと動作が一回だけ行われるのですが、Silverlight 2.0β1では、同じ指定が無視されて無限に繰り返されてしまうようです。不具合なのかなと思って、 こちらのページ あたりも見たのですが、特に書かれていないようでした。
対処方法としては、RepeatBehaviorの指定そのものを削除します。すると、1.0でも2.0β1でも動作は一回になるようです。
せっかくなので、 MAKOTO3.NET のヘッダ部分のアニメーションに、動作の違いを確認する箇所を残しておきました。丸い円(Ellipse)が6つ並んでいますが、いちばん右端の円だけ、Silverlight 2.0β1だとマウスをのせると動きが止まらなくなります。一方、Silverlight 1.0だと一回の動作で停止します。そこのところのXAMLソースは次のようになっています。
<Storyboard x:Name="a6">
<DoubleAnimation
Storyboard.TargetName="menu6_scale"
Storyboard.TargetProperty="ScaleX"
From="1.0" To="1.5" Duration="0:0:0.2"
AutoReverse="True"
RepeatBehavior="1"
/>
<DoubleAnimation
Storyboard.TargetName="menu6_scale"
Storyboard.TargetProperty="ScaleY"
From="1.0" To="1.5" Duration="0:0:0.2"
AutoReverse="True"
RepeatBehavior="1"
/>
</Storyboard>
ベータ版による不具合だと思いますが、やはり1.0用のデータは2.0でも同じように動いてくれないと、安定している1.0用にがんばってサンプル作ってみよう、という意欲をそがれることになるので、こういう現象はうれしくないです。
なお、Silverlight 2.0β1を入れたので、連載している「JavaScriptでSilverlight 」はそろそろいったん締めて、Silverlight 2.0を追っかける記事を書いていこうかと思ってます。
<< JavaScriptでSilverlight 目次 >>
このページは
xfy Blog Editor
を利用して作成されました。










コメント