Wpf Groupbox不响应编码的不透明度和可见性说明

Wpf Groupbox不响应编码的不透明度和可见性说明,wpf,Wpf,我有一个groupbox,它的初始不透明度为0(零),即:隐藏 单击按钮时,将启动一个动画,在2秒内将不透明度从0->100设置为1个关键帧。所有这些都有效 groupbox实际上包含一个表单,提交后,我想隐藏groupbox 使用代码: CampaignName.Text = ""; //works CampaignFromEmail.Text = ""; //works TemplatesCombo.ItemsSource = null; //works TemplatesCombo.Ite

我有一个groupbox,它的初始不透明度为0(零),即:隐藏

单击按钮时,将启动一个动画,在2秒内将不透明度从0->100设置为1个关键帧。所有这些都有效

groupbox实际上包含一个表单,提交后,我想隐藏groupbox

使用代码:

CampaignName.Text = ""; //works
CampaignFromEmail.Text = ""; //works
TemplatesCombo.ItemsSource = null; //works
TemplatesCombo.Items.Clear(); //works
GBCreateCampaign.Opacity = 0; // no effect
GBCreateCampaign.Visibility = Visibility.Hidden; //no effect
我认为这应该行得通。好的,它不会有淡出效果,但关键是groupbox(GBCreateAmpaign)在这次调用后仍然可以在屏幕上完全不透明度地看到

有什么想法吗?

找到了解决方案:

看来这个问题引起了很大的混乱


默认情况下,WPF中的动画将继续运行。因此,当您尝试在代码(或任何其他方式)中更改属性时,它将被动画否决或否定

您需要:

  • 将动画的FillBehavior属性设置为Stop-以便在动画完成后停止将该属性设置为动画的
    to

  • 删除整个情节提要-请注意,情节提要中的所有动画都将被删除

  • 从单个属性中删除动画

非常有趣。因此,这种“继续”的方式会消耗大量的资源和内存,这取决于UI中的动画数量。单个动画不应如此昂贵,尤其是当值不再更改时。