Невозможно сбросить непрозрачность границы до 1,0 после запуска раскадровки, из-за чего непрозрачность исчезает - PullRequest
2 голосов
/ 08 апреля 2011

В приведенном ниже примере граница имеет текстовый блок и кнопку внутри. после нажатия кнопки вызывается fadeBorder, и граница и все в ней хорошо стираются. Если я попытаюсь вызвать someMethod во второй раз, непрозрачность границы все равно будет равна 0, и я не вижу свою рамку / сообщение / кнопку. Я попытался установить его обратно, выполнив myBorder.Opacity = 1; Это не влияет на непрозрачность, оно по-прежнему установлено в 0 после этой строки. Есть ли хитрость в том, чтобы восстановить прозрачность моей границы до 1.0 после того, как раскадровка завершена? Я также попытался установить двойную переменную на 1,0, а затем присвоить эту переменную непрозрачности границы, что также не дало эффекта.

public void someMethod(string message) {
    myTextBlock.Text = message;
    myStackPanel.Children.Add(myTextBlock);
    Ect... with Button Control and alignment of controls
    fadeBorder();

protected void fadeBorder() {
    var fade = new DoubleAnimation() {
        From = 1,
        To = 0,
        Duration = TimeSpan.FromSeconds(this.secondsToFade),
    };

    Storyboard.SetTarget(fade, myBorder);
    Storyboard.SetTargetProperty(fade, new PropertyPath(Border.OpacityProperty));
    storyBoard.Children.Add(fade);
    storyBoard.Begin();
}

1 Ответ

1 голос
/ 08 апреля 2011
...