gpt4 book ai didi

WPF:缩放用户控件动画

转载 作者:行者123 更新时间:2023-12-04 21:08:53 25 4
gpt4 key购买 nike

我创建了一个用户控件:

<UserControl ...>
<Grid DataContext="{Binding UserContrlViewModel>
<Grid Width="200" Height="100" RenderTransformOrigin="0.5,0.5">
<Grid.Resources>
<Storyboard x:Key="zoomIn">
<DoubleAnimation
Storyboard.TargetProperty="ScaleTransform.ScaleX"
From="0"
To="1"
Duration="0:0:1" />
<DoubleAnimation
Storyboard.TargetProperty="ScaleTransform.ScaleY"
From="0"
To="1"
Duration="0:0:1" />
</Storyboard>
</Grid.Resources>
<Grid.RenderTransform>
<ScaleTransform />
</Grid.RenderTransform>
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsActive}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<StaticResource ResourceKey="zoomIn" />
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>

<TextBlock Width="60" Text="Input" />
<TextBox Width="80" Margin="80,0,0,0" />

</Grid>
...
</Grid>
</UserControl>

我想要实现的是,当 IsActive用户控件的 View 模型类的属性设置为 true , zoomIn动画运行。这个动画应该放大网格,里面有它的内容。当我触发动画时,我收到以下错误消息:

Cannot resolve all property references in the property path 'ScaleTransform.ScaleX'. Verify that applicable objects support the properties.



我的动画有什么问题?我应该如何实现所描述的放大动画?谢谢。

最佳答案

我知道了:

  • <ScaleTransform>应该有 <ScaleTransform ScaleX="0.5" ScaleY="0.5" />特性
    例如,设置为使缩放从 50% 开始。
  • 在第一 <DoubleAnimation> Storyboard.TargetProperty 的值属性(property)
    应该从 "ScaleTransform.ScaleX" 更改至 "RenderTransform.ScaleX" .
  • 第二个<DoubleAnimation> Storyboard.TargetProperty 的值属性(property)
    应该从 "ScaleTransform.ScaleY" 更改至 "RenderTransform.ScaleY" .
  • 关于WPF:缩放用户控件动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688441/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com