WPF 中启动时自动调整大小的窗口的动画

发布于 2024-11-28 12:56:04 字数 184 浏览 0 评论 0原文

我正在尝试对错误消息弹出窗口进行动画处理,以稍微扩展自身,然后在大约半秒的时间间隔内收缩到其原始大小,以在 WPF 中强调它。该窗口被设计为一个边框,内部有另一个边框,其中包含一个堆栈面板,左侧有一个图标,右侧有一个消息框。初始化时,消息框会填充异常,并将整个窗口的大小设置为 sizetocontent。顺便说一句,我正在使用.NET 3.5。请帮忙!

I am trying to animate an error message popup to expand itself slightly then contract to its original size all in about a half second interval to give emphasis to it in WPF. The window is designed as a border with another border inside that houses a stack panel with an icon on the left and a messagebox to the right. On initialization the messagebox gets the exception populated and the whole window's size is set to sizetocontent. By the way I am using .NET 3.5. Please help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我不会写诗 2024-12-05 12:56:04

将其添加到外部 Border 内的 xaml 或 Window

<Style>
  <Setter Property="Border.RenderTransform">
   <Setter.Value>
     <ScaleTransform CenterX="50" CenterY="50" ScaleX="1" ScaleY="1" />
   </Setter.Value>
  </Setter>
<Style.Triggers>
  <EventTrigger RoutedEvent="Border.Loaded">
    <EventTrigger.Actions>
      <BeginStoryboard >
        <Storyboard>
          <DoubleAnimation Duration="0:0:0.5" 
                           Storyboard.TargetProperty="RenderTransform.ScaleX" 
                           From="1.0" To="1.1" Duration="0:0:0.5" 
                           AutoReverse="True"/>
          <DoubleAnimation Duration="0:0:0.5" 
                           Storyboard.TargetProperty="RenderTransform.ScaleY" 
                           From="1.0" To="1.1" Duration="0:0:0.5" 
                           AutoReverse="True"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger.Actions>
  </EventTrigger>
</Style.Triggers>
</Style>

Add this to your xaml within the outside Border or to the Window

<Style>
  <Setter Property="Border.RenderTransform">
   <Setter.Value>
     <ScaleTransform CenterX="50" CenterY="50" ScaleX="1" ScaleY="1" />
   </Setter.Value>
  </Setter>
<Style.Triggers>
  <EventTrigger RoutedEvent="Border.Loaded">
    <EventTrigger.Actions>
      <BeginStoryboard >
        <Storyboard>
          <DoubleAnimation Duration="0:0:0.5" 
                           Storyboard.TargetProperty="RenderTransform.ScaleX" 
                           From="1.0" To="1.1" Duration="0:0:0.5" 
                           AutoReverse="True"/>
          <DoubleAnimation Duration="0:0:0.5" 
                           Storyboard.TargetProperty="RenderTransform.ScaleY" 
                           From="1.0" To="1.1" Duration="0:0:0.5" 
                           AutoReverse="True"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger.Actions>
  </EventTrigger>
</Style.Triggers>
</Style>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文