HI
I am new to WPF and I am looking for a solution for scrolling text in a WPF application.
I tried the animation, but I have a cropping problem.
I found a possible solution to my problem in the following place:
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/8330696e-7715-479e-8027-8d9925579a17/
but I don’t understand what the variables TranslateTransformName, scrollfactor and tt should be.
Can someone look at the code and help me figure it out? thanks
Wally
this is code: code block
<p class=MsoNoSpacing><
<span class=SpellE>Viewbox</span>
<span class=SpellE>OpacityMask</span> ="{x
<span
class=GramE>:Null</span> }"
<span class=SpellE>HorizontalAlignment</span> ="Center"
<span class=SpellE>VerticalAlignment</span> ="Stretch"
Width="Auto" Height="Auto"
<span class=SpellE>RenderTransformOrigin</span> ="0.5,0.5"
x:Name="container" Stretch="Uniform"
<span class=SpellE>StretchDirection</span> ="Both">
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> <
<span
class=SpellE>Viewbox.RenderTransform</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> <
<span
class=SpellE>TransformGroup</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>ScaleTransform</span>
<span class=SpellE>ScaleX</span> ="1"
<span class=SpellE>ScaleY</span> ="1"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>SkewTransform</span>
<span class=SpellE>AngleX</span> ="0"
<span class=SpellE>AngleY</span> ="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>RotateTransform</span> Angle="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>TranslateTransform</span> X="640"
Y="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> </
<span
class=SpellE>TransformGroup</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> </
<span
class=SpellE>Viewbox.RenderTransform</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> <
<span
class=SpellE>TextBlock</span>
<span class=SpellE>RenderTransformOrigin</span> ="0.5
<span
class=GramE>,0.5</span> "
<span class=SpellE>HorizontalAlignment</span> ="Center"
x:Name="
<span class=SpellE>tb</span> "
<span class=SpellE>VerticalAlignment</span> ="Center"
Width="Auto" Height="Auto"
<span class=SpellE>FontSize</span> ="50"
<span class=SpellE>TextWrapping</span> ="
<span class=SpellE>NoWrap</span> "
Background="{x:Null}" Foreground="#FFFFFFFF"
Padding="0,0,0,10" Text="0">
</p>
<p class=MsoNoSpacing></p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> <
<span
class=SpellE>TextBlock.RenderTransform</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>TransformGroup</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>ScaleTransform</span>
<span class=SpellE>ScaleX</span> ="1"
<span class=SpellE>ScaleY</span> ="1"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>SkewTransform</span>
<span class=SpellE>AngleX</span> ="0"
<span class=SpellE>AngleY</span> ="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>RotateTransform</span> Angle="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> <
<span class=SpellE>TranslateTransform</span> X="640"
Y="0"/>
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'>
</span> </
<span class=SpellE>TransformGroup</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> </
<span
class=SpellE>TextBlock.RenderTransform</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> </
<span
class=SpellE>TextBlock</span> >
</p>
<p class=MsoNoSpacing>
<span style='mso-spacerun:yes'></span> </
<span
class=SpellE>Viewbox</span> >
</p>
<p class=MsoNoSpacing>
<o:p> </o:p>
</p>
<p class=MsoNoSpacing>
<o:p> </o:p>
</p>
<p class=MsoNoSpacing>
<o:p> </o:p>
</p>
<p class=MsoNoSpacing>
<o:p> </o:p>
</p>
Private void code block StartAnimation (object sender, EventArgs e) {tb.Text = news;
MainWindow.UpdateLayout();
Double timeToTake = (MainWindow.Width + tb.ActualWidth) / scrollfactor;
this.tb.RenderTransform = tt;
Storyboard sb = new Storyboard();
DoubleAnimation daX = new DoubleAnimation(MainWindow.Width, (0.0 - tb.ActualWidth), new Duration(TimeSpan.FromSeconds(timeToTake)));
daX.RepeatBehavior = RepeatBehavior.Forever;
Storyboard.SetTargetName(daX, TranslateTransformName);
Storyboard.SetTargetProperty(daX, new PropertyPath(TranslateTransform.XProperty));
sb.Children.Add(daX);
sb.Begin(this.tb);
}
Walther
source
share