locked
1.0と2.0β1での動作の違いについて RRS feed

  • 質問

  • はじめまして。

     

    Silverlightに興味があり、独学でコツコツ追いかけています。

    Silverlight 1.0用にサンプルなどを書いていたのですが、Silverlight 2.0 β1が利用可能になっていたので、インストールしました。すると、Silverlight 1.0までとは異なる動作をするサンプルがありました。具体的には、1.0ではRepeatBehavior="1"と指定するとアニメーション動作が一回で停止していたのですが、2.0β1にすると、RepeatBehavior="1"と書いてあるのに、動作が無限に繰り返すようです。そこで、RepeatBehavior="1"を削除してみたところ、1.0でも2.0β1でも、一回で停止しました。

     

    これは、たんなるβ版による不具合なのでしょうか? あるいは何か仕様が変わったのでしょうか? 1.0と2.0β1でのXAMLの解釈の違い、不具合等がまとめられたページも探してみたのですが、見つからなかったのですが、ご存じの方がいましたら、教えていただけますか。 なお、この現象に関しては、ブログ記事でもまとめてみました。 実際に、1.0と2.0β1の環境で同じソースが異なる動きをしますので、サンプルを見ていただくと一目瞭然かと思います。

     

    よろしくお願いします。

     

    2008年5月6日 11:58

回答

すべての返信

  • RepeatBehavior で 1回を指定するときは RepeatBehavior="1x" じゃないですか?

    http://msdn.microsoft.com/en-us/library/bb980146.aspx

    http://msdn.microsoft.com/en-us/library/bb980018.aspx

     

    ひょっとすると、1.0 では "1x" と解釈され、2.0 beta1 では 1時間と解釈されてるのかもしれません。

    いずれにしろ、上記のリファレンスを見る限り "1" と指定された場合の動作はきちんと定義されていないような感じなので、どんなふうに解釈されても文句は言えないんじゃないかと思います。

    2008年5月8日 1:06
  • ありがとうございます。

    ご指摘のとおりでした。x、抜けていました。

    1.0でxなしの書き方で動いていたので、その書き方で正しいものだと思い込んでいました。すみません。

    RepeatBehavior="1x"と書いたら、1.0でも2.0ベータ1でも、同様に動きました。

     

     

    2008年5月8日 4:37