Как динамически генерировать раскадровку в uwp - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть сценарий, в котором я должен создать такую ​​же анимацию StoryBoard в Xaml для набора данных (который я свяжу с ViewModel).

<Page    
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
 xmlns:miControls="using:Microsoft.UI.Xaml.Controls">
<Page.Resources>
        <miControls:ItemsRepeater x:Name="repmeaterTest">
            <miControls:ItemsRepeater.ItemTemplate>
                <DataTemplate>
                    <Storyboard x:Name="Storyboard1">
                        <DoubleAnimationUsingKeyFrames EnableDependentAnimation="True" Storyboard.TargetName="DemoCircle" Storyboard.TargetProperty="(FrameworkElement.Width)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="50"/>
                            <EasingDoubleKeyFrame KeyTime="00:00:04" Value="250"/>
                        </DoubleAnimationUsingKeyFrames>
                        <DoubleAnimationUsingKeyFrames EnableDependentAnimation="True" Storyboard.TargetName="DemoCircle" Storyboard.TargetProperty="(FrameworkElement.Height)">
                            <EasingDoubleKeyFrame KeyTime="00:00:00" Value="50"/>
                            <EasingDoubleKeyFrame KeyTime="00:00:04" Value="250"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </DataTemplate>
            </miControls:ItemsRepeater.ItemTemplate>
        </miControls:ItemsRepeater>
    </Page.Resources>

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <Button x:Name="clikToAnimate" Content="Animate" Click="clikToAnimate_Click" Margin="10"/>
    <Ellipse Name="DemoCircle" Stroke="Purple"  Width="50" Height="50" StrokeThickness="4" Fill="AntiqueWhite"/>
</StackPanel>

public sealed partial class MainPage : Page
{
    List<int> noOfStoryBoard = new List<int> { 1,2,3,4,5}; 
    public MainPage()
    {
        this.InitializeComponent();

    }

    private void clikToAnimate_Click(object sender, RoutedEventArgs e)
    {
        Storyboard1.Begin();
    }
}

Я хочу генерировать StoryBoard динамически для noOfStoryBoard (ie 5) в xaml
У кого-нибудь есть идеи, пожалуйста, поделитесь, Вот что я пытался использовать ретрансляторы элементов

...