خاصية XAML لبدء الرسوم المتحركة على لوحة القصة على التحميل

StackOverflow https://stackoverflow.com/questions/1968699

  •  21-09-2019
  •  | 
  •  

سؤال

حسنًا ، كما يوحي العنوان:

لدي لوحة قصص وأريد أن تبدأ الرسوم المتحركة دون تدخل الكود. سبب هذا المطلب هو أنني أستهدف Silverlight مضمنًا وأنا كسول جدًا الآن لإعادة ترجمة طلبي أيضًا. والتوصل إلى التفكير في الأمر ، سيكون من الأسهل تغيير الرسوم المتحركة فقط في المستقبل.

هل لدى XAML خاصية لجعل لوحة العمل تعمل بمجرد تحميل XAML؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام الحدث المحمّل لبدء لوحة العمل الخاصة بك

انظر MSDN للحصول على مثال:لوحة العمل (Silverlight)

اختار المثال من MSDN:

<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Rectangle
    x:Name="MyAnimatedRectangle"
    Width="100"
    Height="100"
    Fill="Blue">
    <Rectangle.Triggers>

      <!-- Animates the rectangle's opacity.
           This is the important part, the EventTrigger which will start our animation -->

      <EventTrigger RoutedEvent="Rectangle.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation
              Storyboard.TargetName="MyAnimatedRectangle"
              Storyboard.TargetProperty="Opacity"
              From="1.0" To="0.0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Rectangle.Triggers>
  </Rectangle>
</Canvas>

المستطيل الكائن له خصائص. في خاصية المشغلات ، حددنا eventTrigger الذي سيطلق النار عندما يحدث هذا الحدث. نختار الحدث المستطيل. تحميله ، مما يعني أنه سيتم إطلاق النار عند تحميله ؛).

نضيف خاصية BeginStoryboard لبدء لوحة العمل لدينا ، وإضافة لوحة العمل. ستستخدم هذه الرسوم المتحركة مضاعفة على خاصية العتامة ، مما يعني أنه في غضون 5 ثوان ، سوف تتلاشى العتامة تدريجياً إلى الصفر ، والعودة (خاصية آلية) وستفعل ذلك إلى الأبد (خاصية REPERBEHAVIOUR).

نصائح أخرى

<UserControl x:Class="SOSMVVM.AniM11"
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>


    <StackPanel Margin="5">
        <Rectangle Name="rect3" Fill="Blue" Margin="2" Width="20"
      Height="20" HorizontalAlignment="Left" />
        <Button Margin="2,20,0,0" HorizontalAlignment="Left"
      Content="Start Animations" Width="100">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>

                                <DoubleAnimation
                  Storyboard.TargetName="rect3" Storyboard.TargetProperty="Width"
                  From="20" To="400" Duration="0:0:10" SpeedRatio="0.5" />


                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Button.Triggers>
        </Button>
    </StackPanel>


</UserControl>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top