C# 显示文本内容
我希望很简单。我想在窗口中显示一篇文章。现在,与其将大量文本放在代码的中心,我是否可以将其作为资源添加并以某种方式将其读取到窗口 对于那些问为什么,这仅仅是因为它是一个巨大的文章,看起来非常丑陋,停留在我的代码的中间。 H.B.的更新 我已经尝试了许多不同的方法,目前正在研究C# 显示文本内容,c#,wpf,text,C#,Wpf,Text,我希望很简单。我想在窗口中显示一篇文章。现在,与其将大量文本放在代码的中心,我是否可以将其作为资源添加并以某种方式将其读取到窗口 对于那些问为什么,这仅仅是因为它是一个巨大的文章,看起来非常丑陋,停留在我的代码的中间。 H.B.的更新 我已经尝试了许多不同的方法,目前正在研究GetManifestResourceStream,并使用一个嵌入式资源(txt文件)将其写入屏幕。还没有完成测试,但如果它能工作,那将比复制和粘贴整个文本要好得多。txtbox1.text=“…blah blah blah
GetManifestResourceStream
,并使用一个嵌入式资源(txt文件)将其写入屏幕。还没有完成测试,但如果它能工作,那将比复制和粘贴整个文本要好得多。txtbox1.text=“…blah blah blah”
我的问题仍然是,有没有更好的方法来实现这一点(假设这是成功的)
谢谢
注意
在上面的示例中,我只需要一行文本。如果你要修改它来读取一个文件中的许多行,你会这样修改它
StreamReader _textStreamReader;
_textStreamReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Problem.Explaination.txt"));
var fileContents = _textStreamReader.ReadToEnd();
_textStreamReader.Close();
String[] lines = fileContents.Split("\n"[0]);
String[] lines2;
Int16 count;
foreach (string line in lines)
{
txtBlock.Text += line;
}
您可以将该文本放在文本文件中,然后用代码将其读出
将文件添加为资源,并在代码中将其加载到字符串中
StringBuilder sb = new StringBuilder();
using (var stream = this.GetType().Assembly.GetManifestResourceStream("MyNamespace.TextFile.txt"))
using(var reader = new StreamReader(stream))
{
string line;
while ((line = reader.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
ViewModel.Text = sb.ToString();
这篇文章是静态文本吗?把这些东西放在资源中并不常见。我甚至不是在谈论代码。回答这个问题-是的,你当然可以,我相信你会在几分钟内得到一个更正确的答案,这将帮助你找到解决方法。但重申安纳托利格的评论——为什么?为了更好地理解和帮助您,最好了解原因。=)@downvoter否决投票的原因?@killianmcc:阅读向下箭头的工具提示…@killianmcc:通常你也应该列出这些方法并解释它们的问题…是的,这就是我目前正在处理的问题,但我需要用exe复制文本文件,所以我尝试使用
ManifestResourceStream
。
StringBuilder sb = new StringBuilder();
using (var stream = this.GetType().Assembly.GetManifestResourceStream("MyNamespace.TextFile.txt"))
using(var reader = new StreamReader(stream))
{
string line;
while ((line = reader.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
ViewModel.Text = sb.ToString();