我的WPF项目中有运行时文本模板文件。我尝试做的是单击WPF按钮时打印运行时文本模板文件的内容。这是我有的示例代码:
**ReportTemplate.tt**
<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ parameter name="Model" type="Model.TicketData"#>
<html>
<head><br/>
<style type="text/css">
body { font-family: Calibri;width:150; margin:0}
table { text-align:center; }<br/>
.container {width:300px;height:100}
</style>
</head>
<body>
<div class="container">
<header><h3 style="text-align:center"><#=Properties.Settings.Default.Logo#></h3>
</header>
<hr/>]
<h1 style="text-align:center;">Ticket #</h1>
<h1 style="text-align:center;"><#=Model.TokenNumber#></h1>
<hr/>
<table style="width:100%; margin:0">
<thead><th>Desk</th><th>Date</th><th>Time</th></thead>
<tr>
<td><#=Model.DeskName#></td>
<td><#=Model.Date#></td>
<td><#=Model.Time#></td>
</tr>
</table>
<hr/>
<div>
</body>
</html>
这是我项目中名为“模型”的文件夹中的模型类
TicketData.cs
public class TicketData
{
public string Date { get; set; }
public string Time { get; set; }
public string Agency { get; set; }
public string DeskName { get; set; }
public int TokenNumber { get; set; }
}
这是一个具有按钮的UserControl窗口,这样,当单击该按钮时,我希望它在Real Pos热敏打印机中打印 ReportTemplate.tt 的内容
>
TokenView.xaml
public partial class TokenView : UserControl
{
Button btn;
String keyword;
ReportTextTemplate rpt;
public TokenView()
{
InitializeComponent();
loadTT();
}
public void loadTT()
{
Random rnd = new Random();
int token = rnd.Next(32);
rpt = new ReportTextTemplate();
rpt.Session = new Dictionary<string, object>();
rpt.Session["Model"] = new TicketData
{
TokenNumber = token,
DeskName = "Conveyance",
Date = System.DateTime.Now.ToString("dd/MM/yy"),
Time = DateTime.Now.ToString("hh:mm tt"),
Agency = Properties.Settings.Default.Logo,
};
rpt.Initialize();
}
private void btnPrintTicket(object sender, RoutedEventArgs e)
{
btn = (Button)sender;
keyword = btn.Content.ToString();
Debug.Print(rpt.TransformText());
}
}
请提供任何帮助。 谢谢你们...