В приведенном ниже примере граница имеет текстовый блок и кнопку внутри. после нажатия кнопки вызывается 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();
}