0

現在、要素をフェードアウトしてユーザー インターフェイスから削除しています。これは期待どおりに機能します。

public void HideShape()
{
    if (this.TangibleShape != null)
    {
        DoubleAnimation animation = new DoubleAnimation();
        animation.From = 1.0;
        animation.To = 0.0;
        animation.AutoReverse = false;
        animation.Duration = TimeSpan.FromSeconds(1.5);

        Storyboard s = new Storyboard();
        s.Children.Add(animation);

        Storyboard.SetTarget(animation, this.TangibleShape.Shape);
        Storyboard.SetTargetProperty(animation, new PropertyPath(ScatterViewItem.OpacityProperty));

        s.Begin(this.TangibleShape.Shape);
        s.Completed += delegate(object sender, EventArgs e)
        {
            // call UIElementManager to finally hide the element
            UIElementManager.GetInstance().Hide(this.TangibleShape);
       };
    }
}

問題は、場合によっては不透明度を再度 1 に設定したいのですが、TangibleShape.Shape(それはScatterViewItem) コマンドを無視することです。もう一度フェードアウトすると、要素が表示され、すぐにフェードアウトが始まります。この問題を解決する方法がわかりません。誰か私にヒントがありますか?

4

1 に答える 1