【问题标题】:Groupbox not responding to coded opacity and visibility instructionsGroupbox 不响应编码的不透明度和可见性指令
【发布时间】:2013-08-23 14:20:21
【问题描述】:

我有一个初始不透明度为 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

我认为这应该可行。好的,它不会有淡出效果,但关键是在此调用之后,组框 (GBCreateCampaign) 在屏幕上仍然非常可见,并且完全不透明。

有什么想法吗?

【问题讨论】:

    标签: wpf


    【解决方案1】:

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

    您需要:

    • 将动画的 FillBehavior 属性设置为 Stop - 因此它会在动画完成后停止将该属性设置为动画的 To 值。

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

    • 从单个属性中删除动画。

    Source: MSDN

    【讨论】:

    • 非常有趣。那么这种“继续运行”会消耗大量资源和内存吗?
    • 这取决于 UI 中的动画数量。单个动画不应该那么昂贵,尤其是当值不再变化时。
    【解决方案2】:

    找到解决办法:

    似乎这个问题引起了很大的混乱。

    http://msdn.microsoft.com/en-us/library/aa970493.aspx

    【讨论】:

      猜你喜欢
      • 2020-06-23
      • 1970-01-01
      • 2012-07-12
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2020-06-10
      • 2012-06-23
      相关资源
      最近更新 更多