我试图动画的规模X和Y属性的ContentControl。这是我的密码:
//主窗口构造函数:
ScaleTransform scale = new ScaleTransform(0, 0);
ModalControl.LayoutTransform = scale;
ModalControl.UpdateLayout();//动画代码
Dispatcher.Invoke(()=> {
var anim = new DoubleAnimation {
From = 0,
To = 1,
Duration = TimeSpan.FromMilliseconds(250)
};
var scaleXAnim = new DoubleAnimation {
From = 0,
To = 1,
Duration = TimeSpan.FromMilliseconds(250)
};
ModalControl.BeginAnimation(OpacityProperty, anim); // this works
ModalControl.BeginAnimation(ScaleTransform.ScaleXProperty, scaleXAnim); // this doesn't
ModalControl.BeginAnimation(ScaleTransform.ScaleYProperty, scaleXAnim);
Console.WriteLine("Animation called");
});XAML
<ContentControl x:Name="ModalControl" Grid.RowSpan="4" Grid.ColumnSpan="2" Panel.ZIndex="100" Visibility="Visible" Opacity="0" Content="{StaticResource ModalElement}" Background="Red">我不知道我错过了什么。当动画不透明,它的工作,如预期,但规模更麻烦。还有什么要做的吗?
发布于 2020-02-21 12:32:35
控件没有ScaleX和ScaleY属性。
您必须在控件的ScaleTransform中动画LayoutTransform对象的属性:
ModalControl.LayoutTransform.BeginAnimation(
ScaleTransform.ScaleXProperty, scaleXAnim);
ModalControl.LayoutTransform.BeginAnimation(
ScaleTransform.ScaleYProperty, scaleXAnim);https://stackoverflow.com/questions/60338614
复制相似问题