1

ここで何が起こっているのかわかりません。私はMicrosoftによって提供された例に従っています。ユーザーがテキストフィールドに入力するか、テキストフィールドの値を通常のテキストとして表示するかを決定する必要があるため、すべてがバックエンドで実行されます。コードは次のとおりです。

            nameInput.Name = "inputName";
            nameInput.Text = "Journey Name";
            nameInput.KeyUp += onNameInput;

            ColorAnimation animation = new ColorAnimation();
            animation.From = Colors.Blue;
            animation.To = Colors.White;
            animation.Duration = new Duration(TimeSpan.FromMilliseconds(100));
            animation.RepeatBehavior = RepeatBehavior.Forever;
            Storyboard.SetTarget(animation, nameInput);
            Storyboard.SetTargetProperty(animation, new PropertyPath(TextBlock.ForegroundProperty));
            storyBoard.Children.Add(animation);
            journeyStackPanel.Children.Add(nameInput);
            ClockState state = storyBoard.GetCurrentState();
            storyBoard.Begin(); //<---Crashes here

私はフォローしています

http://msdn.microsoft.com/en-us/library/cc672995(v=vs.95).aspx

例。何が起こっているのかわかりませんが、残念ながらデバッガーはこれ以上情報を吐き出しません。多分私は一歩を逃していますか?少し漠然としていて申し訳ありませんが、これが私がこの問題に関して持っているすべての情報です。

どんな助けでも大歓迎です!!

4

1 に答える 1

2

この問題を最新のWP8SDKで再現でき、次のエラーメッセージが生成されました。

タイプに互換性がないため、ColorAnimationを使用してプロパティForegroundをアニメーション化することはできません。

これは、TextBoxのForegroundプロパティをColorオブジェクトに変更しようとしているためだと思いますが、Foregroundは実際にはBrushオブジェクトであるため、TypeMismatchエラーが発生します。代わりに、ForegroundオブジェクトのColorプロパティを変更する必要があります。

代わりにこれを試してください:

Storyboard.SetTargetProperty(animation, new PropertyPath("(Foreground).(Color)"));

于 2012-12-06T06:31:23.493 に答える