Pasek z pływającym tekstem jak w wiadomościach

0

Witam,
próbuję w aplikacji WPF ustawić pasek informacyjny. Czy ma ktoś pomysł jak ustawić animację, żeby test był przewijany w prawo tak jak np . w wiadomościach w tv?
W mojej wersji działa tylko rozszerzanie pola TX1. Chciałbym aby tekst przewijał się od lewej do prawej (tekst może być długi i nie zmieści się na szerokości ekranu.)

<TextBox.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="TX2"
Storyboard.TargetProperty="Width"
From="0" To="1000" Duration="05"
AutoReverse="true"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBox.Triggers>

Będę wdzięczny za wszelkie wskazówki.

0

Zajumane ze stacka ale trochę poprawiłem, bo się za wcześnie odświeżał:

XAML

<Window
    x:Class="markju.MainWindow"
    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:local="clr-namespace:markju"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="MainWindow"
    Width="525"
    Height="350"
    mc:Ignorable="d">
    <Grid x:Name="layoutRoot">
        <Canvas x:Name="canvas">
            <TextBlock
                x:Name="tb1"
                Canvas.Left="-131"
                FontSize="25"
                Loaded="tb1_Loaded"
                Text="StackOverflow is just awesome!">
                <TextBlock.Resources>
                    <Storyboard x:Key="slide">
                        <DoubleAnimation
                            RepeatBehavior="Forever"
                            Storyboard.TargetName="transferCurreny"
                            Storyboard.TargetProperty="X"
                            From="0"
                            To="{Binding Width, ElementName=tb1}"
                            Duration="00:00:4" />
                    </Storyboard>
                </TextBlock.Resources>
                <TextBlock.RenderTransform>
                    <TranslateTransform x:Name="transferCurreny" X="0" />
                </TextBlock.RenderTransform>
                <TextBlock.Triggers>
                    <EventTrigger RoutedEvent="TextBlock.Loaded">
                        <BeginStoryboard Storyboard="{StaticResource slide}" />
                    </EventTrigger>
                </TextBlock.Triggers>
            </TextBlock>
        </Canvas>
    </Grid>
</Window>

CB:

namespace markju
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void tb1_Loaded(object sender, RoutedEventArgs e)
        {
            tb1.Width = tb1.ActualWidth*2;
        }
    }
}

Aż sam byłem ciekaw, a nigdy nie byłem zbyt biegły z rysowania po canvasie w WPF.

0

Dziękuję za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1