解决 什么'是处理大量文本的最佳方法?

玻璃杯

知名会员
已加入
2019年11月22日
留言内容
126
编程经验
Beginner
好吧,不是很多,更像是一小段,也许是两个。我一直在查看flowdocument来构建文本数据(随着用户使用该应用程序动态创建),然后在FlowDocumentScrollViewer中显示它,但是Flow文档不需要很多,我只想显示文本。 FlowDocument是否可用于此目的?

谢谢
 

玻璃杯

知名会员
已加入
2019年11月22日
留言内容
126
编程经验
Beginner
我认为简单的标签或文本块可能比FlowDocumentScrollViewer更好,但我需要一个对象用作数据模型。是否可以添加单个文本行并建立可以绑定标签的文本对象?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,532
地点
弗吉尼亚州切萨皮克
编程经验
10+
如果您需要的文本不止一两段,那么流文档确实是最好的处理方式,尤其是当文本中嵌入格式时。

但是,如果您只需要标签或文本框,则使用标签或文本框。只需绑定到字符串即可。字符串也是对象。请参阅MainWindow.xaml的第21和29行 帖子#18 包裹面板子线程的线。
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
Referring back to your old topic (linked above), I would use a fragment element such as two textblocks. Setting the same parameters as described on your other topic. You could make use of the Auto property if you add in a stack panel 和 set your child elements to be aligned vertical or horizontal, or if each block of text contains the same amount of chars (roughly), you could manually size them instead without any stack panel, providing you are not using lots of them. You could do it either-way, as it really sounds like preference to me.
 

玻璃杯

知名会员
已加入
2019年11月22日
留言内容
126
编程经验
Beginner
您知道使用字符串存储文本从来没有发生过,这听起来有点奇怪,但是我意识到我基本上只是想存储一个大字符串,所以使用字符串就可以了。

感谢您的帮助,我想我已经明白了。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,532
地点
弗吉尼亚州切萨皮克
编程经验
10+
还请记住,视图模型与您的实际模型不同。该模型可能由许多不同的部分组成,但是视图模型仅显示了一个部分。例如:
C#:
class Person
{
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
}

class PersonViewModel
{
    Person _person;
    
    public string DisplayName
        => $"{_person.FirstName} {_person.MiddleName[0]}. {_person.LastName}";
        
    public PersonViewModel(Person person)
        => _person = person;
}
 
最佳 底部