-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.xaml.vb
62 lines (53 loc) · 2.33 KB
/
MainWindow.xaml.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Imports System
Imports System.Windows
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.Printing
Namespace PrintDocumentFromUIWpf
Partial Public Class MainWindow
Inherits DXWindow
Public Sub New()
InitializeComponent()
End Sub
Sub DXWindow_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
InitDefaultVlaues()
End Sub
Sub btnPrint_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
CreateAndPreviewLink()
End Sub
Sub InitDefaultVlaues()
teReportHeader.EditValue = "Report Header"
tePageHeader.EditValue = "Page Header"
teDetail.EditValue = "Detail"
tePageFooter.EditValue = "Page Footer"
teReportFooter.EditValue = "Report Footer"
seDetail.EditValue = 400
cePageInfo.EditValue = True
End Sub
Sub CreateAndPreviewLink()
Dim link As New SimpleLink With {
.ReportHeaderTemplate = CType(Resources("reportHeaderTemplate"), DataTemplate),
.PageHeaderTemplate = CType(Resources("pageHeaderTemplate"), DataTemplate),
.DetailTemplate = CType(Resources("detailTemplate"), DataTemplate),
.PageFooterTemplate = CType(Resources("pageFooterTemplate"), DataTemplate),
.ReportFooterTemplate = CType(Resources("reportFooterTemplate"), DataTemplate),
.ReportHeaderData = teReportHeader,
.PageHeaderData = tePageHeader,
.PageFooterData = New PageFooterDataContext With {
.Title = tePageFooter.EditValue.ToString(),
.PrintPageInfo = CBool(cePageInfo.IsChecked)
},
.ReportFooterData = teReportFooter,
.DetailCount = CInt(seDetail.EditValue)
}
AddHandler link.CreateDetail, AddressOf link_CreateDetail
link.ShowPrintPreviewDialog(Me)
End Sub
Sub link_CreateDetail(ByVal sender As Object, ByVal e As CreateAreaEventArgs)
e.Data = String.Format("{0} (Row {1})", teDetail.EditValue, e.DetailIndex)
End Sub
End Class
Public Class PageFooterDataContext
Public Property Title() As String
Public Property PrintPageInfo() As Boolean
End Class
End Namespace