8

私は、WPF と XAML 構文がどのように機能するかを既に知っていると思っていました。

私はメッセージを受け取りました:

'WithEvents' variables can only be typed as classes, interfaces or type parameters with class constraints.

この構文が間違っている理由を知っていますか?

single 値を double として使用する必要があります。後で分離コードのストーリーボードで動作します。

よろしく エラーのスクリーンショット

場所とサイズのストーリーボードで赤い四角形をアニメーション化したいだけです。とにかく、XAML が適切なソリューションでしょうか? 赤い長方形

4

2 に答える 2

19

厚さをアニメーション化するには、次のような Storyboard を使用します (msdn の例から):

<BeginStoryboard>
    <Storyboard>    
      <!-- BorderThickness animates from left=1, right=1, top=1, and bottom=1 to
      left=28, right=28, top=14, and bottom=14 over one second. -->
      <ThicknessAnimation
        Storyboard.TargetProperty="BorderThickness"
        Duration="0:0:1.5" FillBehavior="HoldEnd" From="1,1,1,1" To="28,14,28,14" />
    </Storyboard>
  </BeginStoryboard>

実際、値を「w、x、y、z」として受け取るプロパティをアニメーション化するには、ThicknessAnimation を使用します。

あなたがしたいことは、赤い長方形を右に移動することだと私には思えます。

その場合、全体を に入れ、Canvas赤い四角形の位置で DoubleAnimation を使用します。

いずれにせよ、あなたが得ているエラーはあなたが提供した小さなコードから来たものではありません。それを解決したい場合は、より多くのコードを使用してください。

編集:ThicknessAnimation は WP7 では利用できないようですので、代わりにこれを試してください:

<BeginStoryboard>
    <Storyboard>    
      <DoubleAnimation
        Storyboard.TargetProperty="BorderThickness.Top"
        Duration="0:0:1.5" To="15" />
      <DoubleAnimation
        Storyboard.TargetProperty="BorderThickness.Left"
        Duration="0:0:1.5" To="25" />
    </Storyboard>
  </BeginStoryboard>
于 2011-09-03T11:13:25.367 に答える
0

XAML またはコード ビハインドの他の場所で MyRectangleMargin を使用して行っていることに関連していると思います。Thickness はクラスではなく構造体であるため、クラス インスタンスが必要な場所では使用できないことに注意してください。

于 2011-09-03T10:53:51.080 に答える