问候
我目前正在WPF中创建一个应用程序,因为我对WPF很新,我遇到了一些困难。我用谷歌搜索了我的问题,但没有取得很大的成功。这是目前的情况,主窗口的XAML如下:
<Grid Height="279" HorizontalAlignment="Left" Margin="166,0,0,0" Name="gridScoreboard" VerticalAlignment="Top" Width="808">
<!--Scoreboard Image-->
<Image Source="pack://application:,,,/Images/Style/Scoreboard.png" Width="517" Height="91" HorizontalAlignment="Left" Margin="138,1,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" />
<Canvas Name="canvasRacePlayer1" Width="14" Height="14" Canvas.Left="33" Canvas.Top="66" Background="Transparent" MouseLeftButtonDown="canvasRacePlayer1_MouseLeftButtonDown" Margin="171,70,623,195" />
<local:ucRaces HorizontalAlignment="Center" Margin="93,62,632,187" Width="78" Visibility="Hidden" x:Name="ucRacesP1" Height="33" />
</Grid>
用户控件从一开始就隐藏(ucRaces),一旦点击小画布(canvasRacePLayer1),将显示用户控件。但是我希望这个用户控件从某个点从右向左“滑动”。仿佛它会以小步骤变得可见。我找到了矩形和按钮动画的信息,但用户控件没有成功。
提前谢谢
答案 0 :(得分:3)
如果您要为WPF项目创建动画,我建议您使用Expression Blend。您可以使用EB设计程序并使用Visual Studio实现它的功能。很难制作动画,编写XAML语法或C#代码。
您如何使用EB为用户控件制作动画?嗯,实际上非常简单。您需要先打开现有的WPF项目。然后,转到文件 - &gt;新商品 - &gt;用户控制,并创建用户控件。然后,如果要将其添加到项目中,请切换回当前在EB中打开的WPF项目,然后单击位于屏幕左侧的工具栏上的右箭头(&gt;&gt;)并转到Project - &GT; [您的用户控制在这里]。现在您已将其添加到项目中。
如果要为用户控件设置动画,则必须在时间轴中添加StoryBoard。当您使用EB中的WPF项目时,在“对象和时间线”下,单击加号(+)并添加新的StoryBoard。现在,您需要使用时间轴来设置用户控件的动画。您可以在时间轴上放置KeyTime属性,并定义用户控件应该从位置A到位置B遵循的路径,以及如果您希望用户控件逐渐变为可见的不透明度级别。
您可以添加一个用户控件并为第二个用户实现其逻辑。 Expression Blend将让您的生活更轻松。
答案 1 :(得分:0)
动画您的UserControl与设置任何其他WPF对象的动画应该没什么不同:您可以为边距设置动画(使用ThicknessAnimation
),或将用户控件放到自己的画布中,然后设置动画您的用户控件的Canvas.Left
属性 。在后一种情况下,请注意将属性名称放在括号中:Storyboard.TargetProperty="(Canvas.Left)"
。