Door.xaml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <UserControl x:Class="MECF.Framework.UI.Client.Ctrlib.UnitControls.Door"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. mc:Ignorable="d"
  7. d:DesignHeight="20" d:DesignWidth="100">
  8. <UserControl.Resources>
  9. <Storyboard x:Key="Door_Open">
  10. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" >
  11. <EasingDoubleKeyFrame KeyTime="0" Value="55"/>
  12. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="15"/>
  13. </DoubleAnimationUsingKeyFrames>
  14. </Storyboard>
  15. <Storyboard x:Key="Door_Close">
  16. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" >
  17. <EasingDoubleKeyFrame KeyTime="0" Value="15"/>
  18. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="55"/>
  19. </DoubleAnimationUsingKeyFrames>
  20. </Storyboard>
  21. <Style TargetType="{x:Type Rectangle}" x:Key="Door_Animation" >
  22. <Style.Triggers>
  23. <DataTrigger Binding="{Binding IsDoorOpen, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="true">
  24. <DataTrigger.EnterActions>
  25. <BeginStoryboard Storyboard="{StaticResource Door_Open}"/>
  26. </DataTrigger.EnterActions>
  27. <DataTrigger.ExitActions>
  28. <BeginStoryboard Storyboard="{StaticResource Door_Close}"/>
  29. </DataTrigger.ExitActions>
  30. </DataTrigger>
  31. </Style.Triggers>
  32. </Style>
  33. </UserControl.Resources>
  34. <Grid>
  35. <Grid.ColumnDefinitions>
  36. <ColumnDefinition></ColumnDefinition>
  37. <ColumnDefinition></ColumnDefinition>
  38. </Grid.ColumnDefinitions>
  39. <Rectangle x:Name="Door_Left" Style="{StaticResource Door_Animation}" HorizontalAlignment="Left" Width="55" Fill="DimGray" />
  40. <Rectangle x:Name="Door_Right" Grid.Column="1" Style="{StaticResource Door_Animation}" HorizontalAlignment="Right" Width="55" Fill="DimGray" />
  41. </Grid>
  42. </UserControl>