Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 滚动文本/字幕_C#_Wpf_Text - Fatal编程技术网

C# 滚动文本/字幕

C# 滚动文本/字幕,c#,wpf,text,C#,Wpf,Text,我想制作一个从右到左的滚动文本。互联网上有一些可用的文本,并使用了其中的一个。但很快意识到我的文本将是两种颜色,随着滚动文本,我将不得不添加图像。这让事情变得复杂了,你知道怎么做吗 我的想法是添加标签(一种颜色)图像,然后将另一种颜色加上图像添加到堆栈面板或其他东西中,然后以某种方式移动它 我是wpf的初学者,所以我无法找到出路从您的问题中我了解到,我建议您使用RichTextBox,您可以轻松粘贴图像和文本。为此,您可以执行以下步骤: 创建RichTextBox并将FlowDocument添

我想制作一个从右到左的滚动文本。互联网上有一些可用的文本,并使用了其中的一个。但很快意识到我的文本将是两种颜色,随着滚动文本,我将不得不添加图像。这让事情变得复杂了,你知道怎么做吗

我的想法是添加标签(一种颜色)图像,然后将另一种颜色加上图像添加到堆栈面板或其他东西中,然后以某种方式移动它


我是wpf的初学者,所以我无法找到出路

从您的问题中我了解到,我建议您使用RichTextBox,您可以轻松粘贴图像和文本。为此,您可以执行以下步骤:

  • 创建
    RichTextBox
    并将
    FlowDocument
    添加到其中(同时将
    段落
    添加到此
    FlowDocument
    ):

    注意:我们将使用此声明段落添加文本和图像

    注意:您必须将
    PageWidth
    设置为一个大数字,因为RichTextBox没有设置TextWrapping的选项(如TextBox中的TextWrapping选项)

  • 您可以将自己的彩色文本添加到
    段落
    ,代码如下:

    string YourText = "ColoryText";
    Paragraph1.Inlines.Add(new Run(YourText) { Foreground = Brushes.Blue });
    
  • 现在,从System.Timers.Timer声明一个
    计时器
    并处理经过的事件就足够了


可能取决于您的硬件,但这可能比一开始看起来更困难。你可以尝试使用rendertransform(translate)和一些掩蔽,并使用一些故事板来设置转换的动画,但我想我必须对此进行测试才能给出很好的建议。你想过RichTextBox吗?如果是,为什么您不想使用它?它可以包含图像吗?您如何滚动文本消息?可能重复的想法是我有一个横幅,在横幅中我有文本图像文本图像所有剩余的都是使用动画滚动?我认为使用计时器和
RichTextBox1.Selection.选择(,)
将光标从一个位置移动到另一个位置的方法。也可以使用动画进行滚动。
Image img = new Image();
img.Source = YourImageSource;
img.Width = YourImageWidth;
Paragraph1.Inlines.Add(img);
string YourText = "ColoryText";
Paragraph1.Inlines.Add(new Run(YourText) { Foreground = Brushes.Blue });