3

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

例如,模板可能如下所示:

[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 并不是我们真正想要的。我们需要能够拖动项目并绝对定位它们(​​就像在报表设计器中一样)。

4

1 回答 1

3

我不确定您是否可以主持 MS 设计师(尽管我对此表示怀疑),但我认为您可以相当简单地制作自己的迷你编辑器。从 a 开始并以Canvas编程方式添加Labels、TextBlocks 或您想要的任何其他内容(将它们与处理程序连接起来以通过/Click移动它们)。您可以很容易地将其渲染为图像以进行打印,或者您提到的 Xaml-Xps。Canvas.TopCanvas.LeftCanvas

查看Kaxaml作为示例,他已经开发了一个迷你 Xaml 编辑器(它最近更新到 SL2)。那里可能还有其他人。

EDIT 26-Jan-09: also check out Charles Petzold's XamlCruncher (example) - certainly beats loading up Visual Studio - seems like XamlReader.Load might be worth trying out?

于 2009-01-17T01:51:44.330 回答