WPF Marquee Text Animation в ограниченном пространстве

Я могу прокручивать текст с помощью [DoubleAnimation], но я бы хотел показать следующее:

1.У меня есть большая сетка и маленький холст

2. текст отображается в правом краю холста.

3.Тест исчезает в левом краю холста.

4. Мне нравится отображать текст только на холсте. не сетка

как это сделать на C #?

это ссылка на изображение

http://i.stack.imgur.com/Hmhho.jpg

1. Код C #

private void animation()
    {

        Storyboard sb = new Storyboard();

        DoubleAnimation moveLeft = new DoubleAnimation();
        moveLeft.From = Canvas.Width;
        moveLeft.To = -tbxText.Width;
        moveLeft.Duration = new Duration(TimeSpan.FromSeconds(3));
        moveLeft.RepeatBehavior = RepeatBehavior.Forever;
        Storyboard.SetTarget(moveLeft, tbxText);
        Storyboard.SetTargetProperty(moveLeft, new PropertyPath(Canvas.LeftProperty));
        moveLeft.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animation.EasingMode.EaseOut };
        sb.Children.Add(moveLeft);
        sb.Begin();

    }

2. Код xaml

<Grid HorizontalAlignment="Left" Height="59" Margin="42,33,0,0" VerticalAlignment="Top" Width="255" Background="#FFC9F594">
        <Canvas x:Name="Canvas" HorizontalAlignment="Left" Height="59" VerticalAlignment="Top" Width="255">
            <TextBox x:Name="tbxText" Height="34" Canvas.Left="10" TextWrapping="Wrap" Text="Test Test Test Test" Canvas.Top="6" Width="196" Background="{x:Null}" BorderBrush="{x:Null}" FontSize="20"/>
        </Canvas>
</Grid>

person user3623597    schedule 11.05.2014    source источник


Ответы (1)


это хороший способ

Panel.ZIndex = "1"

<Grid Panel.ZIndex="1" HorizontalAlignment="Left" Height="55" Margin="114,83,0,0" VerticalAlignment="Top" Width="266">
        <Canvas x:Name="Canvas" HorizontalAlignment="Left" Height="59" VerticalAlignment="Top" Width="255" Margin="1,0,0,-4">
            <TextBox x:Name="tbxText" Height="34" Canvas.Left="10" TextWrapping="Wrap" Text="Test Test Test Test" Canvas.Top="6" Width="196" Background="{x:Null}" BorderBrush="{x:Null}" FontSize="20"/>
        </Canvas>
</Grid>
person user3623597    schedule 12.05.2014