为了在WPF RichtextBox中对Document进行DataBinding,到目前为止,我看到了2个解决方案,它们来自RichtextBox并添加了DependencyProperty,以及带有"代理"的解决方案.第一次或第二次都不令人满意.有人知道另一个解决方案,或者是一个能够进行DataBinding的商业RTF控件吗?普通的Textbox不是替代品,因为我们需要文本格式化.
任何的想法?
我使用WPF打印路径来处理在我们的应用程序中创建的大型图表.整个图表由视觉效果组成.
一个所谓的"DesignerPaginator"对图表进行分页(非常简单).从这一点开始,我做了以下三件事: - 我用PrintDialog.PrintDocument(Paginator,Title)打印文档 - 我还用XpsDocumentWriter.Write创建了一个XPS文档(Paginator,PrintTicket); 我保存在硬盘上 - 从XPSDocument我将XpsDocumentWriter.GetFixedDocumentSequence()分配给DocumentViewer
简而言之,以下代码很重要:
PrintDialog _pdialog = new PrintDialog();
System.Printing.ValidationResult result = this.PrintQueue.MergeAndValidatePrintTicket(this.PrintQueue.UserPrintTicket, this.PrintTicket);
_pdialog.PrintTicket = result.ValidatedPrintTicket;
XpsDocument _xpsDocument = new XpsDocument("C:\\test.xps",FileAccess.ReadWrite);
XpsDocumentWriter xpsdw = XpsDocument.CreateXpsDocumentWriter(_xpsDocument);
xpsdw.Write(this.Paginator, result.ValidatedPrintTicket);
documentviewer.Document = _xpsDocument.GetFixedDocumentSequence();
_xpsDocument.Close();
_pdialog.PrintQueue = this.PrintQueue;
_pdialog.PrintDocument(this.Paginator, "Model Test");
Run Code Online (Sandbox Code Playgroud)
输出如下:
HDD上的XPS - >绝对模糊.你无法识别任何东西.它就像一个100倍变焦的GIF文件.来自DocumentViewer中XPSDocument的FixedDocumentSequence - > Perfect.这应该是XPS文件的打印输出 - >可怕,模糊,但至少比xps文件好多了
现在神秘的部分:如果我直接从DocumentViewer打印(其中FixedDocumentSequence看起来很完美),我从第一次打印得到相同的模糊输出.
我对这种情况的想法是WPF的XPS系统光栅化内容并将内容放在xps文档中作为低质量的Bitmap.它是所有向量,尽管如此,低分辨率位图的输出似乎总是很熟悉.
我将不胜感激任何帮助.我没有想法.我尝试了很多来调试这个问题,但它似乎在某种程度上同时简单而精致.
假设我疯了,我想用 c# 实现一个基本的 HTML 渲染引擎。我想使用 WPF 控件来显示 HTML 布局。
虽然这样的想法没有任何好处,但我仍然想尝试一下!那么哪些库、项目和文档可以帮助我完成这项工作?
我的一名初级同事设法编写了非常可怕,可怕的代码.
printJob.Type = item[LocalFunctions.GetName(new { printJob.Type })].ToString();
public static string GetName<T>(T item) where T : class
{
try
{
return typeof(T).GetProperties()[0].Name;
}
catch (Exception ex)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
你猜是GetName将输出什么?它会输出"Type"!我只是不明白这是怎么回事.我的第一个想法是MS将创建一个匿名类型,其属性与值来自的属性同名(编译魔术?).由于这不可能是一个受支持的功能,我建议我的初级同事不要使用他无法理解的东西.
但这使问题悬而未决:这怎么可能?
wpf ×3
c# ×2
data-binding ×1
document ×1
paginator ×1
printing ×1
reflection ×1
richtextbox ×1
xps ×1