ورود

View Full Version : طریقه تعریف یک animate برای یک کنترل



m110_110
دوشنبه 16 فروردین 1389, 00:11 صبح
سلام
میشه یکی طریقه تعریف یک animate رو یاد بده؟ مثلا در رویداد mouseover یک عکس و برای خاصیت طول و عرض؟

behnam25214
سه شنبه 17 فروردین 1389, 21:16 عصر
با این کد وقتی موس رو میبری روی باتون رنگش عوض میشه ببین به دردت میخوره.


<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="sample.Window1"
x:Name="Window"
Title="Window1"
Width="474" Height="438">
<Window.Resources>
<Style x:Key="ButtonStyle1" BasedOn="{x:Null}" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1">
<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
<SplineColorKeyFrame KeyTime="00:00:00" Value="#FF4F4F4F"/>
<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FFAD6868"/>
</ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="rectangle" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
<SplineColorKeyFrame KeyTime="00:00:00" Value="#FF1C1C1C"/>
<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FF7A3939"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<Grid>
<Rectangle Stroke="#FFE6E6E6" StrokeThickness="0.5" RadiusX="12.5" RadiusY="12.5" x:Name="rectangle">
<Rectangle.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF1C1C1C" Offset="0"/>
<GradientStop Color="#FF4F4F4F" Offset="1"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True"/>
<Trigger Property="IsDefaulted" Value="True"/>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
</Trigger.EnterActions>
</Trigger>
<Trigger Property="IsPressed" Value="True"/>
<Trigger Property="IsEnabled" Value="False"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Window.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF171717" Offset="0"/>
<GradientStop Color="#FF484848" Offset="1"/>
</LinearGradientBrush>
</Window.Background>

<Grid x:Name="LayoutRoot">
<Button Margin="134,0,204,138" Style="{DynamicResource ButtonStyle1}" VerticalAlignment="Bottom" Height="54" Content="Button"/>
</Grid>
</Window>

m110_110
پنج شنبه 19 فروردین 1389, 12:31 عصر
با سلام
ممنون از جوابتون
راستش خيلي طولاني شد و من در اين مدت به دنبالش در اينترنت بودم تا پيدا کردم
حالا هم يه چند تا برنامه ساده نوشتم تا مرحله مرحله بتونم wpf رو ياد بگيرم
و قصد دارم در وبلاگم و همچنين در اين سايت بگذارم تا کساني که مثل من خيلي با wpf کار نکرده اند و تازه شروع کرده اند انشاالله به دردشون بخوره
انشا الله به زودي

Unknownlive
پنج شنبه 02 اردیبهشت 1389, 17:06 عصر
شما نرم افزار بلند را نصب کند در صفحه طراحی دکمه F6 را بزن به محیط انیمیشن میری بعدش در سمت پایین چپ تب دومی بر روی Trigger کلیک کن شئ خود را اضافه کن بعد بهش Event بده و یک Story Board که اصله کاره برات درست می کنه و در TimeLine آن می توانید مانند نرم افزار های چون فلش اما قوی تر انیمیشن خود را بسازید تنها اصطلاح که باید بلد باشید اینه که Storyboard مثل یک صفحه کاری می مونه اون دکمه هم برای سوئیچ بین محیط طراحی و انیمیشن می باشد