2011-09-12 73 views
3

我想製作一個從右到左的豎立文字。有一些在互聯網上可用,並使用其中的一種。但很快意識到我的文本將是兩種顏色,並隨着滾動文本我將不得不添加圖像。這使得它變得複雜。任何想法如何能夠做到。滾動文字/選取框

我的想法是添加標籤(一種顏色)圖像,然後將其他顏色加上圖像標記到一些堆棧面板或其他東西,然後移動它一些方法。

我在WPF初學者,所以我無法maky我的出路

+1

可能取決於您的硬件,但這可能比看起來似乎更困難。你可以嘗試使用rendertransform(translate)和一些遮罩來實驗,並使用一些storyboard來爲變換設置動畫,但我想我必須測試這個來給出真正的好建議。 – Carsten

+0

您是否想過關於RichTextBox?如果是,爲什麼你不想使用它? – Tigran

+0

它可以contail圖像,你如何滾動文字信息? –

回答

2

正如我從你的問題明白了,我建議你到用戶的RichTextBox,你可以很容易地粘貼圖片和文字。爲此,你可以做以下步驟:

  • 創建您RichTextBox,並添加FlowDocument給它(並添加Paragraph這個FlowDocument):

    注:我們將利用這個聲明款添加我們的文字和圖像

    注:您必須設置PageWidth到大量,因爲RichTextBox中還沒有選項來設置TextWrapping(如TextWrapping選項在TextBox中)。

    <RichTextBox x:Name="RichTextBox1" Height="25"> 
         <FlowDocument x:Name="FlowDocument1" PageWidth="1000"> 
           <Paragraph x:Name="Paragraph1"> 
             Your Text Will Be Placed Here 
           </Paragraph> 
         </FlowDocument> 
    </RichTextBox> 
    
  • 您可以通過下面的代碼添加自己的形象Paragraph

    Image img = new Image(); 
    img.Source = YourImageSource; 
    img.Width = YourImageWidth; 
    Paragraph1.Inlines.Add(img); 
    
  • 您可以根據以下的代碼添加自己的colory文字Paragraph

    string YourText = "ColoryText"; 
    Paragraph1.Inlines.Add(new Run(YourText) { Foreground = Brushes.Blue }); 
    
  • 現在,從System.Timers.Timer中聲明Timer就足夠了,並使用Elapsed事件。

+0

所有仍然是使用動畫滾動? –

+0

我認爲使用Timer和'RichTextBox1.Selection.Select(,)'方法將光標從一個位置移動到另一個位置是合適的。你也可以使用動畫來滾動。 –