C# 显示文本内容

C# 显示文本内容,c#,wpf,text,C#,Wpf,Text,我希望很简单。我想在窗口中显示一篇文章。现在,与其将大量文本放在代码的中心,我是否可以将其作为资源添加并以某种方式将其读取到窗口 对于那些问为什么,这仅仅是因为它是一个巨大的文章,看起来非常丑陋,停留在我的代码的中间。 H.B.的更新 我已经尝试了许多不同的方法,目前正在研究GetManifestResourceStream,并使用一个嵌入式资源(txt文件)将其写入屏幕。还没有完成测试,但如果它能工作,那将比复制和粘贴整个文本要好得多。txtbox1.text=“…blah blah blah

我希望很简单。我想在窗口中显示一篇文章。现在,与其将大量文本放在代码的中心,我是否可以将其作为资源添加并以某种方式将其读取到窗口

对于那些问为什么,这仅仅是因为它是一个巨大的文章,看起来非常丑陋,停留在我的代码的中间。

H.B.的更新

我已经尝试了许多不同的方法,目前正在研究
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();