【发布时间】:2023-03-03 17:52:01
【问题描述】:
我在RichTextBox 中有一个FlowDocument,看起来像这样:
INT. LOCATION - DAY
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla id risus odio. Donec dictum viverra rutrum.
Quisque malesuada velit sed augue interdum vehicula.
CHARACTER NAME
Mauris sit amet nisi varius
velit luctus vestibulum tempor egestas augue.
Quisque viverra vulputate iaculis.
Nam sit amet risus at justo feugiat consequat a non ex. Morbi scelerisque libero quam,
eget imperdiet justo iaculis sed.
EXT. LOCATION - NIGHT
Morbi cursus dictum tempor. Phasellus mattis at massa non porta.
Etiam ac pellentesque tortor, sit amet facilisis massa.
CHARACTER NAME
Aenean viverra convallis dolor,
quis venenatis odio tempus a.
Sed vel aliquet arcu, in tincidunt est.
INT. LOCATION - NIGHT
Etiam sit amet tristique sapien.
现在我需要在每次 INT 时将此文本分成多个部分。或分机。稍后开始在应用程序中使用。最好的方法是什么?
这就是我将文本文件加载到 RichTextBox 中的方式:
private void Button_Click(object sender, RoutedEventArgs e)
{
openFile.InitialDirectory = @"C:\";
openFile.Filter = "Text files (*.txt)|*.txt|All Files (*.*)|*.*";
openFile.RestoreDirectory = true;
openFile.Title = "Select Script";
if (openFile.ShowDialog() == true)
{
string originalfilename = System.IO.Path.GetFullPath(openFile.FileName);
TextRange range;
FileStream fStream;
if (openFile.CheckFileExists)
{
range = new TextRange(rtfMain.Document.ContentStart, rtfMain.Document.ContentEnd);
fStream = new FileStream(originalfilename, System.IO.FileMode.OpenOrCreate);
range.Load(fStream, DataFormats.Text);
fStream.Close();
}
}
}
【问题讨论】:
-
假设有人正在输入数据,您应该让用户在他们想要更改场景时开始一个新部分。 (这看起来像一个脚本/播放)。您可以让用户添加场景,他们在其中输入场景信息,然后添加场景文本。这些都可以作为部分添加到整个 FlowDocument 中
-
其实就是分析一个脚本。它已被加载到 Richtextbox 中,需要拆分为多个部分。
-
场景标题是否总是使用 INT 的相同模式。 /分机。 - (某个位置)- DAY / NIGHT,还是有更多的可能性?
-
它总是 INT。或 EXT 或 I/E 有时前面有一个数字
-
您能否向我们展示这在 FlowDocument 中是如何存在的,或者您是否尝试仅从脚本文本中生成一个。
标签: c# wpf text richtextbox