Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. WPF
  4. Text Ticker

Text Ticker

Scheduled Pinned Locked Moved WPF
csharpwpfhelptutorial
25 Posts 2 Posters 8 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    What exactly does not work? Here is a link to a super book on writing WPF Code. This is the link to the Source Code download that has lots of animiation code. http://www.microsoft.com/mspress/companion/0-7356-1957-3/[^] From what you wrote before, you want to scroll text. One way to accomplish this, is to us an animation and a TranslateTransform to change the position of the text. If you are on a canvas, you can animate the x & y points. You down load Express Blend 2.5 Preview for free. You can write and study doing this in a few minutes in Blend.

    Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

    Just a grain of sand on the worlds beaches.

    K Offline
    K Offline
    KBou
    wrote on last edited by
    #7

    Well I kinda got it to scroll the way I want. But... Here's the situation. I've got an UserControl that can contains a TextBlock. The text in the TextBlock should scroll from left to right, But the text shoudn't be visible when it's outside of the UserControl. This is what I have got so far.

    TextBlock tb = (TextBlock)this.Content;
    tb.FlowDirection = FlowDirection.LeftToRight;

    DoubleAnimation Animation = new DoubleAnimation();
    Animation.From = this.Width;
    Animation.To = -tb.DesiredSize.Width;
    Animation.Duration = new Duration(TimeSpan.FromSeconds(10));

    TranslateTransform tt = new TranslateTransform();
    tt.BeginAnimation(TranslateTransform.XProperty, Animation);
    tb.RenderTransform = tt;

    Any ideas how I can get the visibility part? And how do I use a storyboard in this for Repeating?

    L 1 Reply Last reply
    0
    • K KBou

      Well I kinda got it to scroll the way I want. But... Here's the situation. I've got an UserControl that can contains a TextBlock. The text in the TextBlock should scroll from left to right, But the text shoudn't be visible when it's outside of the UserControl. This is what I have got so far.

      TextBlock tb = (TextBlock)this.Content;
      tb.FlowDirection = FlowDirection.LeftToRight;

      DoubleAnimation Animation = new DoubleAnimation();
      Animation.From = this.Width;
      Animation.To = -tb.DesiredSize.Width;
      Animation.Duration = new Duration(TimeSpan.FromSeconds(10));

      TranslateTransform tt = new TranslateTransform();
      tt.BeginAnimation(TranslateTransform.XProperty, Animation);
      tb.RenderTransform = tt;

      Any ideas how I can get the visibility part? And how do I use a storyboard in this for Repeating?

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #8

      KBou wrote:

      Any ideas how I can get the visibility part?

      Read up on the "ClipToBounds" property and set this on your UserControl. I'll assume that you have set a specific height and width on your UserControl. You should add a method to your UserControl so that the parent container can all the UserControl to start and/or stop the animation. A property for the TextBlock.Text is also in order unless the text is always the same.

      KBou wrote:

      And how do I use a storyboard in this for Repeating?

      What are you trying to do? Have the animation keep repeating? Have the animation repeat on command? If so, is this command executed in code or XAML? You used the word storyboard, why? From the beginning you wanted a code only solution, what was the reason for a code only solution instead of using a XAML storyboard?

      Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

      Just a grain of sand on the worlds beaches.

      K 1 Reply Last reply
      0
      • L Lost User

        KBou wrote:

        Any ideas how I can get the visibility part?

        Read up on the "ClipToBounds" property and set this on your UserControl. I'll assume that you have set a specific height and width on your UserControl. You should add a method to your UserControl so that the parent container can all the UserControl to start and/or stop the animation. A property for the TextBlock.Text is also in order unless the text is always the same.

        KBou wrote:

        And how do I use a storyboard in this for Repeating?

        What are you trying to do? Have the animation keep repeating? Have the animation repeat on command? If so, is this command executed in code or XAML? You used the word storyboard, why? From the beginning you wanted a code only solution, what was the reason for a code only solution instead of using a XAML storyboard?

        Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

        Just a grain of sand on the worlds beaches.

        K Offline
        K Offline
        KBou
        wrote on last edited by
        #9

        Thanks for the ClipToBounds. This works fine. I have a Canvas on wich the user can drag usercontrols wich can contain a textblock. From a contextmenu they can start the scrolling. The text must keep on scrolling until it is stopped by the user. The text in the textblock is continu changing, much like a news ticker. And i want all of this in code because the user is must be able to change things like speed, direction and he also had the ability to change the size of the usercontrol. I have methodes for setting the text and a methode that starts te animation, but now the animation only runs once. So what is the best way to keep the animation running until the users stops it? Thanks. Kevin

        L 1 Reply Last reply
        0
        • K KBou

          Thanks for the ClipToBounds. This works fine. I have a Canvas on wich the user can drag usercontrols wich can contain a textblock. From a contextmenu they can start the scrolling. The text must keep on scrolling until it is stopped by the user. The text in the textblock is continu changing, much like a news ticker. And i want all of this in code because the user is must be able to change things like speed, direction and he also had the ability to change the size of the usercontrol. I have methodes for setting the text and a methode that starts te animation, but now the animation only runs once. So what is the best way to keep the animation running until the users stops it? Thanks. Kevin

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #10

          KBou wrote:

          So what is the best way to keep the animation running until the users stops it?

          Check out the "RepeatBehavior" property.

          Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

          Just a grain of sand on the worlds beaches.

          K 1 Reply Last reply
          0
          • L Lost User

            KBou wrote:

            So what is the best way to keep the animation running until the users stops it?

            Check out the "RepeatBehavior" property.

            Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

            Just a grain of sand on the worlds beaches.

            K Offline
            K Offline
            KBou
            wrote on last edited by
            #11

            Well I thaugt I had created what I wanted. But I saw some flaws. First of all you won't get a continuasly stream of text and second it won't show all the text that is my TextBlock wich is in a UserControl only what you can see from the beginning. So back to square one it is. I still need help with this. This must be posible. Kevin

            L 1 Reply Last reply
            0
            • K KBou

              Well I thaugt I had created what I wanted. But I saw some flaws. First of all you won't get a continuasly stream of text and second it won't show all the text that is my TextBlock wich is in a UserControl only what you can see from the beginning. So back to square one it is. I still need help with this. This must be posible. Kevin

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #12

              Kevin, Now I'm more confused over the desired result. Can you mock this up with a few images so that we can "see" the desired results.

              Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

              Just a grain of sand on the worlds beaches.

              K 1 Reply Last reply
              0
              • L Lost User

                Kevin, Now I'm more confused over the desired result. Can you mock this up with a few images so that we can "see" the desired results.

                Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                Just a grain of sand on the worlds beaches.

                K Offline
                K Offline
                KBou
                wrote on last edited by
                #13

                This is the idea: First Second It is only one string of text wich continues to scroll over the screen.

                L 1 Reply Last reply
                0
                • K KBou

                  This is the idea: First Second It is only one string of text wich continues to scroll over the screen.

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #14

                  Have a look at this. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=871414&SiteID=1[^]

                  Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                  Just a grain of sand on the worlds beaches.

                  K 1 Reply Last reply
                  0
                  • L Lost User

                    Have a look at this. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=871414&SiteID=1[^]

                    Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                    Just a grain of sand on the worlds beaches.

                    K Offline
                    K Offline
                    KBou
                    wrote on last edited by
                    #15

                    I had a look at it and it only solves one of my problems. It only solves the problem of text that is bigger than the usercontrol/canvas. You still have to wait for the End of the text to reach the left of the screen before it will start over.

                    L 1 Reply Last reply
                    0
                    • K KBou

                      I had a look at it and it only solves one of my problems. It only solves the problem of text that is bigger than the usercontrol/canvas. You still have to wait for the End of the text to reach the left of the screen before it will start over.

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #16

                      Did you read the other post that was linked to in the article. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2475074&SiteID=1&mode=1[^]

                      Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                      Just a grain of sand on the worlds beaches.

                      K 1 Reply Last reply
                      0
                      • L Lost User

                        Did you read the other post that was linked to in the article. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2475074&SiteID=1&mode=1[^]

                        Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                        Just a grain of sand on the worlds beaches.

                        K Offline
                        K Offline
                        KBou
                        wrote on last edited by
                        #17

                        I've look at that i tried the "Answer" given on that page but I don't know what to do with the "SignConverter" part. The description says "The sign converter just takes a number and returns its negative value." So when I didn't knew what it exactly did I put it in commentary and ran the project and saw it wasn't doing what I want. But is that the part that ensures the text to start when is has not ended? Kevin By the way. Sorry for my crappy English.

                        L 1 Reply Last reply
                        0
                        • K KBou

                          I've look at that i tried the "Answer" given on that page but I don't know what to do with the "SignConverter" part. The description says "The sign converter just takes a number and returns its negative value." So when I didn't knew what it exactly did I put it in commentary and ran the project and saw it wasn't doing what I want. But is that the part that ensures the text to start when is has not ended? Kevin By the way. Sorry for my crappy English.

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #18

                          Kevin, Your English is just fine, no worries. I'm SUPER busy for the next 2 weeks, almost every moment of the day is taken up with preparation for Code Camp and article writing. I might be easier to just write this. You need to create a class that exposes a circular buffer that you can read from, then using a System.Times.Timer in your UserControl display the text from the buffer. Write me in 2 weeks if you have not got this done and I'll write one and place it on my blog.

                          Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                          Just a grain of sand on the worlds beaches.

                          K 2 Replies Last reply
                          0
                          • L Lost User

                            Kevin, Your English is just fine, no worries. I'm SUPER busy for the next 2 weeks, almost every moment of the day is taken up with preparation for Code Camp and article writing. I might be easier to just write this. You need to create a class that exposes a circular buffer that you can read from, then using a System.Times.Timer in your UserControl display the text from the buffer. Write me in 2 weeks if you have not got this done and I'll write one and place it on my blog.

                            Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                            Just a grain of sand on the worlds beaches.

                            K Offline
                            K Offline
                            KBou
                            wrote on last edited by
                            #19

                            Well thanks for the idea i've never used something like a circular buffer before but i'll see if i can create one. Thanks for your help and good luck with Code Camp. I'll let you know in two week if I made any progress. Greets, Kevin

                            1 Reply Last reply
                            0
                            • L Lost User

                              Kevin, Your English is just fine, no worries. I'm SUPER busy for the next 2 weeks, almost every moment of the day is taken up with preparation for Code Camp and article writing. I might be easier to just write this. You need to create a class that exposes a circular buffer that you can read from, then using a System.Times.Timer in your UserControl display the text from the buffer. Write me in 2 weeks if you have not got this done and I'll write one and place it on my blog.

                              Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                              Just a grain of sand on the worlds beaches.

                              K Offline
                              K Offline
                              KBou
                              wrote on last edited by
                              #20

                              Well Karl, I got nowhere with a circular buffer so I put it aside and went on with some other things. But it often crossed my mind and from what I got to understand of the idea you would still remove a character at the beginning an add one at the end. Would this give you a "smooth animation"? Thanks, Kevin

                              L 1 Reply Last reply
                              0
                              • K KBou

                                Well Karl, I got nowhere with a circular buffer so I put it aside and went on with some other things. But it often crossed my mind and from what I got to understand of the idea you would still remove a character at the beginning an add one at the end. Would this give you a "smooth animation"? Thanks, Kevin

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #21

                                Yes. It would also give you the ability to play a sound between characters, like a type writter key click.

                                Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                                Just a grain of sand on the worlds beaches.

                                K 1 Reply Last reply
                                0
                                • L Lost User

                                  Yes. It would also give you the ability to play a sound between characters, like a type writter key click.

                                  Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                                  Just a grain of sand on the worlds beaches.

                                  K Offline
                                  K Offline
                                  KBou
                                  wrote on last edited by
                                  #22

                                  Are you going to create an article about this? Could you send me a mail if you do. Because somehow this option "Notify me by e-mail if someone answers this message" doesn't work. So everytime I have to search these postings again. Greets, Kevin

                                  L 1 Reply Last reply
                                  0
                                  • K KBou

                                    Are you going to create an article about this? Could you send me a mail if you do. Because somehow this option "Notify me by e-mail if someone answers this message" doesn't work. So everytime I have to search these postings again. Greets, Kevin

                                    L Offline
                                    L Offline
                                    Lost User
                                    wrote on last edited by
                                    #23

                                    Kevin, I'll post a reply here when I post the code.

                                    Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                                    Just a grain of sand on the worlds beaches.

                                    K 1 Reply Last reply
                                    0
                                    • L Lost User

                                      Kevin, I'll post a reply here when I post the code.

                                      Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                                      Just a grain of sand on the worlds beaches.

                                      K Offline
                                      K Offline
                                      KBou
                                      wrote on last edited by
                                      #24

                                      Ok Thanks

                                      L 1 Reply Last reply
                                      0
                                      • K KBou

                                        Ok Thanks

                                        L Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #25

                                        Kevin, I found the solution here. http://blogs.msdn.com/delay/archive/2008/03/12/lb-sv-why-three-wacky-uses-for-silverlight-2-s-listbox-and-scrollviewer.aspx[^] Look down the page and you'll find, ScrollViewer: Marquee.

                                        Cheers, Karl » CodeProject 2008 MVP » Microsoft MVP - Client App Dev My Blog | Mole's Home Page | MVP Profile

                                        Just a grain of sand on the worlds beaches.

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups