我想在将文本复制到时保持文本的格式,我richtextbox
该怎么做?(当您在 microsoft word 文档中复制代码时,代码的颜色将与 Visual Studio 中的颜色相同(在此处显示http://img4.fotos-hochladen.net/uploads/unbenannanta2k46fcjn5.png))
我想将文本保存在 sql 数据库中并以相同的格式(颜色等)重新加载它。我知道如何在数据库中保存和读取数据,但是如何使用格式(颜色)保存文本?
我想在将文本复制到时保持文本的格式,我richtextbox
该怎么做?(当您在 microsoft word 文档中复制代码时,代码的颜色将与 Visual Studio 中的颜色相同(在此处显示http://img4.fotos-hochladen.net/uploads/unbenannanta2k46fcjn5.png))
我想将文本保存在 sql 数据库中并以相同的格式(颜色等)重新加载它。我知道如何在数据库中保存和读取数据,但是如何使用格式(颜色)保存文本?
您还可以将隐藏的 FlowDocument 保存RichTextBox.Document
为字符串
public static string ToStringExt(this IDocumentPaginatorSource flowDocument)
{
return XamlWriter.Save(flowDocument);
}
要将其转换回 FlowDocument,您可以使用此扩展
public static bool IsFlowDocument(this string xamlString)
{
if (xamlString.IsNullOrEmpty())
throw new ArgumentNullException();
if (xamlString.StartsWith("<") && xamlString.EndsWith(">"))
{
XmlDocument xml = new XmlDocument();
try
{
xml.LoadXml(string.Format("<Root>{0}</Root>", xamlString));
return true;
}
catch (XmlException)
{
return false;
}
}
return false;
}
public static FlowDocument toFlowDocument(this string xamlString)
{
if (IsFlowDocument(xamlString))
{
var stringReader = new StringReader(xamlString);
var xmlReader = System.Xml.XmlReader.Create(stringReader);
return XamlReader.Load(xmlReader) as FlowDocument;
}
else
{
Paragraph myParagraph = new Paragraph();
myParagraph.Inlines.Add(new Run(xamlString));
FlowDocument myFlowDocument = new FlowDocument();
myFlowDocument.Blocks.Add(myParagraph);
return myFlowDocument;
}
}