簡體   English   中英

在““ new RepeatBehavior(2)””完成后如何執行功能?

[英]How to execute a function after '“new RepeatBehavior(2)” finish?

遵循代碼:

XAML:

<Window x:Class="Wpf_Notice.MostrarAviso"
        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"
        xmlns:local="clr-namespace:Wpf_Notice"
        mc:Ignorable="d"
        Title="Notice Show" Height="300" Width="300" WindowStyle="None" ShowInTaskbar="False" ResizeMode="NoResize" Loaded="Window_Loaded">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="auto"/>
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0">
            <!--...-->
        </StackPanel>
        <Canvas Background="Black" >
            <Canvas Canvas.Bottom="0" ClipToBounds="True" Name="canMain" Background="Red" Height="97" Width="300">
                <TextBlock FontSize="70" Name="tbmarquee" Height="74" FontFamily="Arial Black" Foreground="White" Canvas.Top="10"></TextBlock>
            </Canvas>
        </Canvas>
    </Grid>
</Window>

C#:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    canMain.Width = ActualWidth;
    tbmarquee.Text = "Donald Trump announced on Friday a new package of measures against North Korea...";
    UpdateLayout();

    DoubleAnimation doubleAnimation = new DoubleAnimation
    {
        From = -tbmarquee.ActualWidth,
        To = canMain.ActualWidth,
        RepeatBehavior = new RepeatBehavior(2),
        Duration = TimeSpan.FromSeconds(10)
    };

    tbmarquee.BeginAnimation(Canvas.RightProperty, doubleAnimation);

    WindowState = WindowState.Maximized;
    WindowStyle = WindowStyle.None;
    Topmost = true;
}

上面的代碼使用類“ DoubleAnimation”顯示從右到左的新聞,在傳遞2條新聞RepeatBehavior = new RepeatBehavior (2) ,調用一個函數來隱藏新聞。

傳遞2個新聞項后如何調用函數?

有什么辦法嗎?

連接到已完成事件,然后從那里開始您需要做的一切。

DoubleAnimation doubleAnimation = //...
doubleAnimation.Completed += (s, e) => MyFunction();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM