wpf - 在我的应用程序中托管基本的 XAML 编辑器?

标签 wpf reporting-services reporting

在我们的应用程序中,我们允许安装管理员设计姓名标签模板,这些模板在他们从自助服务亭办理登机手续时打印(有点像在自助服务亭办理登机手续并打印登机牌)。

例如,模板可能看起来像这样:

[FirstName] [LastName]
[Company]
[PersonImage]
[BarCode]

现在,我们使用 Reporting Services 来允许我们的管理员设计姓名标签模板(有些人可能想要个人照片、打印出的条形码、他们的组织名称等)。这工作正常,但是 1) Reporting Services 呈现速度很慢,并且 2) 它没有很好地与我们的应用程序集成——他们必须加载 Visual Studio 并在我们的应用程序之外设计名称标签。

XAML 似乎非常适合设计名称标签的模板。实际上,任何设计都可以使用该格式处理,我们可以使用 XAML 到 XPS 进行打印。

我遇到的问题是如何集成使用可用 XAML 控件子集的可视化设计器。我们真的只需要简单的控件,例如 Canvas、Grid、TextBlock、Image 等支持拖放的控件。 我没有找到太多关于是否可以将 Visual Studio 或 Sparkle 的 XAML 设计器托管到单独的应用程序中的信息。有人有任何想法吗? RichTextBox 看起来几乎可以工作,但 FlowDocument 并不是我们真正想要的。我们需要能够四处拖动项目并绝对定位它们(​​就像在报表设计器中一样)。

最佳答案

我不确定您是否可以托管 MS 设计器(尽管我对此表示怀疑),但我认为您可以相当简单地制作您自己的迷你编辑器。从 Canvas 开始,以编程方式添加 LabelTextBlock 或您想要的任何其他内容(使用 Click 连接它们> 处理程序通过 Canvas.Top/Canvas.Left 移动它们)。您可以很容易地将 Canvas 呈现为图像以进行打印,或者像您提到的那样使用 Xaml-Xps。

查看 Kaxaml作为已经启动了迷你 Xaml 编辑器(最近更新到 SL2)的人的示例。可能还有其他人。

编辑 2009 年 1 月 26 日:另请查看 Charles Petzold 的 XamlCruncher ( example ) - 肯定比加载 Visual Studio 好 - 似乎 XamlReader.Load 可能值得一试?

关于wpf - 在我的应用程序中托管基本的 XAML 编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417128/

相关文章:

sql-server - 如何指定要在 SSRS 报告向导中使用的存储过程?

hadoop - 访问 MapReduce 配置/统计信息以进行日志记录和分析

asp.net - 导出 pdf 报告

c# - 动态双向绑定(bind)到 wpf 中的动态元素

sql - SQL Server Reporting Services Denali 中有哪些新功能?

wpf - 将进度条添加到 WPF 控件的背景

image - 可以将嵌入的图像提取到文件中吗?

reporting-services - 大型报告实现建议 250 - 300 页

wpf - Datagrid SelectedItem 在 window.IsEnabled = false 上丢失

c# - WPF - 在 C# 中使用 Storyboard 的 EllipseGeometry 动画