- Se traslada versión a git desde tfs

This commit is contained in:
2025-05-30 12:06:37 +02:00
commit b93d857a6f
103 changed files with 86476 additions and 0 deletions

View File

@@ -0,0 +1,225 @@
Imports System.Text.RegularExpressions
Imports DevExpress.Spreadsheet
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.Docking
Imports DevExpress.XtraReports.UI
Imports Microsoft.Win32
Imports System.IO
Public Class InformesGenerico
Public Shared Sub ExcelAInforme(Titulo As String, Fichero As Byte(), GrupoDocumentos As DocumentGroup, dc As DockController, Optional FicheroDestino As String = Nothing, Optional Parametros As Hashtable = Nothing, Optional MostrarPanelParametros As Boolean = False)
Dim s As String = System.Text.Encoding.UTF8.GetString(Fichero)
Using sw As New StreamWriter(New MemoryStream())
sw.Write(s)
sw.Flush()
Try
Dim xr = XtraReport.FromStream(sw.BaseStream, True)
ExcelAInforme(Titulo, xr, GrupoDocumentos, dc, FicheroDestino, Parametros, MostrarPanelParametros)
Catch ex As Reflection.ReflectionTypeLoadException
Dim sLista As String
sLista = ""
For Each item In ex.LoaderExceptions
sLista &= item.Message & vbCrLf
If item.InnerException IsNot Nothing Then
sLista &= item.InnerException.Message & vbCrLf
End If
Next
MsgBox(sLista)
End Try
End Using
End Sub
Public Shared Sub ExcelAInforme(Titulo As String, xr As XtraReport, GrupoDocumentos As DocumentGroup, dc As DockController, Optional FicheroDestino As String = Nothing, Optional Parametros As Hashtable = Nothing, Optional MostrarPanelParametros As Boolean = False)
Dim fb As New OpenFileDialog
fb.Filter = "Fichero Excel (*.xls, *.xlsx, *.csv)|*.xls;*.xlsx;*.csv"
fb.DefaultExt = ".xls"
If fb.ShowDialog Then
Dim Rango As String
Dim FilaInicio, FilaFin As Integer
Do
Try
Rango = InputBox("Introduzca Rango de filas", "Rango de Filas", "2-10")
If Rango = "" Then Exit Do
If Rango <> "" Then
If Rango.Split("-").Length <> 2 Then Throw New Exception("Rango Incorrecto")
Dim sInicio As String = Rango.Split("-")(0)
If Not IsValid(sInicio) Then Throw New Exception("Rango Incorrecto")
Dim sFin As String = Rango.Split("-")(1)
If Not IsValid(sFin) Then Throw New Exception("Rango Incorrecto")
FilaInicio = Integer.Parse(Rango.Split("-")(0))
FilaFin = Integer.Parse(Rango.Split("-")(1))
If FilaInicio > FilaFin Then Throw New Exception("Rango Incorrecto")
End If
Exit Do
Catch ex As Exception
DXMessageBox.Show("Rango incorrecto", "Error")
End Try
Loop
If Rango <> "" Then
Dim wb As New Workbook
Dim datos As New List(Of FilaExcel)
Select Case fb.FileName.Split(".").Last.ToLower
Case "xls"
wb.LoadDocument(fb.FileName, DevExpress.Spreadsheet.DocumentFormat.Xls)
Case "xlsx"
wb.LoadDocument(fb.FileName, DevExpress.Spreadsheet.DocumentFormat.Xlsx)
Case "csv"
wb.LoadDocument(fb.FileName, DevExpress.Spreadsheet.DocumentFormat.Csv)
End Select
For i = FilaInicio To FilaFin
Dim reg As New FilaExcel
For l = 65 To 90
Dim valor As String = wb.Worksheets(0).Cells(Chr(l) & i.ToString).Value.ToString
reg.GetType.GetProperty(Chr(l)).SetValue(reg, valor, Nothing)
Next
datos.Add(reg)
Next
MuestraImpresos(Titulo, xr, datos, GrupoDocumentos, dc, FicheroDestino, Parametros, MostrarPanelParametros)
End If
End If
End Sub
Shared Function IsValid(ByVal inputString As String) As Boolean
Dim validValues As New Regex("^[1-9]?[0-9]{1}$|^100000$")
Return validValues.IsMatch(inputString)
End Function
Public Shared Sub MuestraImpresos(Titulo As String, Fichero As Byte(), Datasource As Object, GrupoDocumentos As DocumentGroup, dc As DockController, Optional FicheroDestino As String = Nothing, Optional Parametros As Hashtable = Nothing, Optional MostrarPanelParametros As Boolean = False)
Dim s As String = System.Text.Encoding.UTF8.GetString(Fichero)
Using sw As New StreamWriter(New MemoryStream())
sw.Write(s)
sw.Flush()
Try
Dim xr = XtraReport.FromStream(sw.BaseStream, True)
MuestraImpresos(Titulo, xr, Datasource, GrupoDocumentos, dc, FicheroDestino, Parametros, MostrarPanelParametros)
Catch ex As Reflection.ReflectionTypeLoadException
Dim sLista As String
sLista = ""
For Each item In ex.LoaderExceptions
sLista &= item.Message & vbCrLf
If item.InnerException IsNot Nothing Then
sLista &= item.InnerException.Message & vbCrLf
End If
Next
MsgBox(sLista)
End Try
End Using
End Sub
Public Shared Sub MuestraImpresos(Titulo As String, xr As XtraReport, Datasource As Object, GrupoDocumentos As DocumentGroup, dc As DockController, Optional FicheroDestino As String = Nothing, Optional Parametros As Hashtable = Nothing, Optional MostrarPanelParametros As Boolean = False)
Try
Try
Dim pr As DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").First
pr.Value = Now
pr.Visible = False
Catch ex As Exception
End Try
If Parametros IsNot Nothing Then
For Each pm As DictionaryEntry In Parametros
Try
Dim pr As DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = pm.Key).First
pr.Value = pm.Value
Catch ex As Exception
Debug.Write(ex.Message)
End Try
Next
End If
xr.DataSource = Datasource
If FicheroDestino <> "" Then
Select Case FicheroDestino.Split(".").Last.ToLower
Case "pdf"
xr.ExportToPdf(FicheroDestino)
Case "xls"
xr.ExportToXls(FicheroDestino)
Case "xlsx"
xr.ExportToXlsx(FicheroDestino)
Case "csv"
xr.ExportToXlsx(FicheroDestino)
End Select
Else
''Dim docpanel As New DevExpress.Xpf.Docking.DocumentPanel
''docpanel.Caption = Titulo
''Dim modelo As New tsWPFCore.tsXtraReportPreviewModel(xr)
''modelo.IsParametersPanelVisible = MostrarPanelParametros
''modelo.AutoShowParametersPanel = MostrarPanelParametros
''xr.RequestParameters = MostrarPanelParametros
''Dim vi As New tsWPFCore.ucVisualizadorInformesa()
''vi.Visualizador.Model = modelo
''xr.CreateDocument(True)
''docpanel.Content = vi
''docpanel.ClosingBehavior = DevExpress.Xpf.Docking.ClosingBehavior.ImmediatelyRemove
''GrupoDocumentos.Items.Add(docpanel)
''dc.Activate(docpanel)
'Dim modelo As New tsWPFCore.tsXtraReportPreviewModel(xr)
'Dim link As New PrintableControlLink(modelo)
'link.PaperKind = System.Drawing.Printing.PaperKind.A4
'link.Landscape = True
'link.Margins.Left = 0.5
'link.Margins.Right = 0.5
'link.Margins.Bottom = 0.5
'link.Margins.Top = 0.5
'Dim vi As New ucVisualizadorInformes()
'link.PageHeaderTemplate = DirectCast(vi.Resources("pageHeaderTemplate"), DataTemplate)
'link.PageFooterTemplate = DirectCast(vi.Resources("pageFooterTemplate"), DataTemplate)
'link.CreateDocument()
'vi.Visualizador.DocumentSource = link
'Dim docpanel = New DevExpress.Xpf.Docking.DocumentPanel
'Dim tabHeaderPrintInfoControl As New TabHeaderPrintInfoControl() With {.TabName = Titulo}
'docpanel.Caption = tabHeaderPrintInfoControl
'docpanel.Content = vi
'docpanel.ClosingBehavior = DevExpress.Xpf.Docking.ClosingBehavior.ImmediatelyRemove
'GrupoDocumentos.Add(docpanel)
'Comun.dm.DockController.Activate(docpanel)
End If
Catch ex As Exception
DXMessageBox.Show(ex.Message & vbCrLf & ex.ToString & vbCrLf & ex.StackTrace, "Atención", MessageBoxButton.OK, MessageBoxImage.Error)
Finally
End Try
End Sub
End Class
Public Class FilaExcel
Property A As String
Property B As String
Property C As String
Property D As String
Property E As String
Property F As String
Property G As String
Property H As String
Property I As String
Property J As String
Property K As String
Property L As String
Property M As String
Property N As String
Property O As String
Property P As String
Property Q As String
Property R As String
Property S As String
Property T As String
Property U As String
Property V As String
Property W As String
Property X As String
Property Y As String
Property Z As String
End Class

View File

@@ -0,0 +1,14 @@
<UserControl x:Class="Controles.TabHeaderPrintInfoControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid VerticalAlignment="Center">
<ProgressBar Background="{x:Null}" Margin="-9,-2,-25,-3" BorderThickness="0" x:Name="progress" />
<TextBlock Margin="0,1,0,1" x:Name="tabNameTextBlock" />
</Grid>
</UserControl>

View File

@@ -0,0 +1,59 @@
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports DevExpress.Xpf.Printing
Imports DevExpress.Xpf.Core
Namespace Controles
Partial Public Class TabHeaderPrintInfoControl
Inherits UserControl
Public Property LinkPreviewModel() As LinkPreviewModel
Get
Return CType(GetValue(LinkPreviewModelProperty), LinkPreviewModel)
End Get
Set(ByVal value As LinkPreviewModel)
SetValue(LinkPreviewModelProperty, value)
End Set
End Property
Public Shared ReadOnly LinkPreviewModelProperty As DependencyProperty = DependencyProperty.Register("LinkPreviewModel", GetType(LinkPreviewModel), GetType(TabHeaderPrintInfoControl), New PropertyMetadata(Nothing, New PropertyChangedCallback(AddressOf OnLinkPreviewModelChanged)))
Public Property TabName() As String
Get
Return CStr(GetValue(TabNameProperty))
End Get
Set(ByVal value As String)
SetValue(TabNameProperty, value)
End Set
End Property
Public Shared ReadOnly TabNameProperty As DependencyProperty = DependencyProperty.Register("TabName", GetType(String), GetType(TabHeaderPrintInfoControl), New PropertyMetadata(Nothing, New PropertyChangedCallback(AddressOf OnTabNameChanged)))
Private Shared Sub OnLinkPreviewModelChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
CType(d, TabHeaderPrintInfoControl).OnLinkPreviewModelChanged()
End Sub
Private Shared Sub OnTabNameChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
CType(d, TabHeaderPrintInfoControl).OnTabNameChanged()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Private Sub OnLinkPreviewModelChanged()
progress.SetBinding(FrameworkElement.VisibilityProperty, New Binding("ProgressVisibility") With {.Source = LinkPreviewModel, .Converter = New BoolToVisibilityConverter()})
progress.SetBinding(ProgressBar.MaximumProperty, New Binding("ProgressMaximum") With {.Source = LinkPreviewModel})
progress.SetBinding(ProgressBar.ValueProperty, New Binding("ProgressValue") With {.Source = LinkPreviewModel, .Mode = BindingMode.OneWay})
End Sub
Private Sub OnTabNameChanged()
tabNameTextBlock.Text = TabName
End Sub
End Class
End Namespace

482
Informes/dxwEditor.xaml Normal file
View File

@@ -0,0 +1,482 @@
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxre="http://schemas.devexpress.com/winfx/2008/xaml/richedit"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
x:Class="dxwEditor"
Title="Editor" Height="1024" Width="1024" WindowState="Maximized" WindowStyle="ToolWindow">
<Window.Resources>
<dxre:RichEditUICommand x:Key="commands"/>
<dxre:RichEditStringIdConverter x:Key="stringIdConverter"/>
<dxre:DefaultBarItemDataTemplates x:Key="defaultBarItemTemplates"/>
</Window.Resources>
<Grid>
<dxb:BarManager x:Name="BarManager1" ToolbarGlyphSize="Small">
<dxb:BarManager.Items>
<dxb:BarButtonItem x:Name="biGuardarYSalir" Content="Guardar y Salir" ItemClick="biGuardarYSalir_ItemClick" LargeGlyph="{dx:DXImage SvgImages/Save/SaveAndClose.svg}" />
<dxb:BarButtonItem x:Name="biGuardar" Content="Guardar" LargeGlyph="{dx:DXImage Image=Save_32x32.png}" ItemClick="biGuardar_ItemClick" />
<dxb:BarButtonItem x:Name="biFileNew" Command="{Binding FileNew, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFileOpen" Command="{Binding FileOpen, Mode=OneTime, Source={StaticResource commands}}"/>
<!--<dxb:BarButtonItem x:Name="biFileSave" Command="{Binding FileSave, Mode=OneTime, Source={StaticResource commands}}"/>-->
<dxb:BarButtonItem x:Name="biFileSaveAs" Command="{Binding FileSaveAs, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFileQuickPrint" Command="{Binding FileQuickPrint, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFilePrint" Command="{Binding FilePrint, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFilePrintPreview" Command="{Binding FilePrintPreview, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditUndo" Command="{Binding EditUndo, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditRedo" Command="{Binding EditRedo, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertPageBreak" Command="{Binding InsertPageBreak, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertTable" Command="{Binding InsertTable, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertPicture" Command="{Binding InsertPicture, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertFloatingPicture" Command="{Binding InsertFloatingPicture, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertBookmark" Command="{Binding InsertBookmark, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertHyperlink" Command="{Binding InsertHyperlink, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertHeader" Command="{Binding InsertHeader, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertFooter" Command="{Binding InsertFooter, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertPageNumber" Command="{Binding InsertPageNumber, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertPageCount" Command="{Binding InsertPageCount, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertTextBox" Command="{Binding InsertTextBox, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biInsertSymbol" Command="{Binding InsertSymbol, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biPageLayoutMargins" Command="{Binding PageLayoutMargins, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biPageLayoutNormalMargins"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutNarrowMargins"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutModerateMargins"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutWideMargins"/>
<dxb:BarButtonItemLink BarItemName="biPageLayoutPageMarginsOptions"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarCheckItem x:Name="biPageLayoutNormalMargins" GlyphSize="Large" Command="{Binding PageLayoutNormalMargins, Mode=OneTime, Source={StaticResource commands}}" ContentTemplate="{Binding SectionMarginBarItemContentTemplate, Mode=OneTime, Source={StaticResource defaultBarItemTemplates}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutNarrowMargins" GlyphSize="Large" Command="{Binding PageLayoutNarrowMargins, Mode=OneTime, Source={StaticResource commands}}" ContentTemplate="{Binding SectionMarginBarItemContentTemplate, Mode=OneTime, Source={StaticResource defaultBarItemTemplates}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutModerateMargins" GlyphSize="Large" Command="{Binding PageLayoutModerateMargins, Mode=OneTime, Source={StaticResource commands}}" ContentTemplate="{Binding SectionMarginBarItemContentTemplate, Mode=OneTime, Source={StaticResource defaultBarItemTemplates}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutWideMargins" GlyphSize="Large" Command="{Binding PageLayoutWideMargins, Mode=OneTime, Source={StaticResource commands}}" ContentTemplate="{Binding SectionMarginBarItemContentTemplate, Mode=OneTime, Source={StaticResource defaultBarItemTemplates}}"/>
<dxb:BarButtonItem x:Name="biPageLayoutPageMarginsOptions" Command="{Binding PageLayoutPageMarginsOptions, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biPageLayoutOrientation" Command="{Binding PageLayoutOrientation, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biPageLayoutPortraitOrientation"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutLandscapeOrientation"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarCheckItem x:Name="biPageLayoutPortraitOrientation" Command="{Binding PageLayoutPortraitOrientation, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutLandscapeOrientation" Command="{Binding PageLayoutLandscapeOrientation, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biPageLayoutSize" Command="{Binding PageLayoutSize, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxre:PaperKindBarListItemLink BarItemName="biPageLayoutSizeList"/>
<dxb:BarButtonItemLink BarItemName="biPageLayoutPagePaperOptions"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxre:PaperKindBarListItem x:Name="biPageLayoutSizeList" RichEditControl="{Binding ElementName=RichEditControl1}"/>
<dxb:BarButtonItem x:Name="biPageLayoutPagePaperOptions" Command="{Binding PageLayoutPagePaperOptions, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biPageLayoutColumns" Command="{Binding PageLayoutColumns, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biPageLayoutOneColumn"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutTwoColumns"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutThreeColumns"/>
<dxb:BarButtonItemLink BarItemName="biPageLayoutColumnsOptions"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarCheckItem x:Name="biPageLayoutOneColumn" Command="{Binding PageLayoutOneColumn, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarCheckItem x:Name="biPageLayoutTwoColumns" Command="{Binding PageLayoutTwoColumns, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarCheckItem x:Name="biPageLayoutThreeColumns" Command="{Binding PageLayoutThreeColumns, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarButtonItem x:Name="biPageLayoutColumnsOptions" Command="{Binding PageLayoutColumnsOptions, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biInsertBreak" Command="{Binding InsertBreak, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertPageBreak"/>
<dxb:BarButtonItemLink BarItemName="biInsertColumnBreak"/>
<dxb:BarButtonItemLink BarItemName="biInsertSectionBreakNextPage"/>
<dxb:BarButtonItemLink BarItemName="biInsertSectionBreakContinuous"/>
<dxb:BarButtonItemLink BarItemName="biInsertSectionBreakEvenPage"/>
<dxb:BarButtonItemLink BarItemName="biInsertSectionBreakOddPage"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarButtonItem x:Name="biInsertColumnBreak" Command="{Binding InsertColumnBreak, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarButtonItem x:Name="biInsertSectionBreakNextPage" Command="{Binding InsertSectionBreakNextPage, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarButtonItem x:Name="biInsertSectionBreakContinuous" Command="{Binding InsertSectionBreakContinuous, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarButtonItem x:Name="biInsertSectionBreakEvenPage" Command="{Binding InsertSectionBreakEvenPage, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarButtonItem x:Name="biInsertSectionBreakOddPage" Command="{Binding InsertSectionBreakOddPage, Mode=OneTime, Source={StaticResource commands}}" GlyphSize="Large"/>
<dxb:BarSubItem x:Name="biPageLayoutLineNumbering" Command="{Binding PageLayoutLineNumbering, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biPageLayoutLineNumberingNone"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutLineNumberingContinuous"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutLineNumberingRestartNewPage"/>
<dxb:BarCheckItemLink BarItemName="biPageLayoutLineNumberingRestartNewSection"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphSuppressLineNumbers"/>
<dxb:BarButtonItemLink BarItemName="biPageLayoutLineNumberingOptions"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarCheckItem x:Name="biPageLayoutLineNumberingNone" Command="{Binding PageLayoutLineNumberingNone, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutLineNumberingContinuous" Command="{Binding PageLayoutLineNumberingContinuous, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutLineNumberingRestartNewPage" Command="{Binding PageLayoutLineNumberingRestartNewPage, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biPageLayoutLineNumberingRestartNewSection" Command="{Binding PageLayoutLineNumberingRestartNewSection, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphSuppressLineNumbers" Command="{Binding FormatParagraphSuppressLineNumbers, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biPageLayoutLineNumberingOptions" Command="{Binding PageLayoutLineNumberingOptions, Mode=OneTime, Source={StaticResource commands}}"/>
<dxre:BarButtonColorEditItem x:Name="biPageLayoutPageColor" Command="{Binding PageLayoutPageColor, Mode=OneTime, Source={StaticResource commands}}">
<dxre:BarButtonColorEditItem.PopupControl>
<dxb:PopupControlContainerInfo>
<dxe:ColorEdit EditValue="{Binding EditValue, ElementName=biPageLayoutPageColor, Mode=TwoWay}" ShowBorder="False"/>
</dxb:PopupControlContainerInfo>
</dxre:BarButtonColorEditItem.PopupControl>
</dxre:BarButtonColorEditItem>
<dxb:BarCheckItem x:Name="biViewDraft" Command="{Binding ViewDraft, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biViewPrintLayout" Command="{Binding ViewPrintLayout, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biViewSimple" Command="{Binding ViewSimple, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biViewHorizontalRuler" Command="{Binding ViewHorizontalRuler, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biViewVerticalRuler" Command="{Binding ViewVerticalRuler, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biViewZoomOut" Command="{Binding ViewZoomOut, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biViewZoomIn" Command="{Binding ViewZoomIn, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biGoToHeader" Command="{Binding GoToHeader, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biGoToFooter" Command="{Binding GoToFooter, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biHeaderFooterGoToPrevious" Command="{Binding HeaderFooterGoToPrevious, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biHeaderFooterGoToNext" Command="{Binding HeaderFooterGoToNext, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biHeaderFooterLinkToPrevious" Command="{Binding HeaderFooterLinkToPrevious, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biHeaderFooterDifferentFirstPage" Command="{Binding HeaderFooterDifferentFirstPage, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biHeaderFooterDifferentOddEvenPages" Command="{Binding HeaderFooterDifferentOddEvenPages, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biHeaderFooterClose" Command="{Binding HeaderFooterClose, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditPaste" Command="{Binding EditPaste, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditCut" Command="{Binding EditCut, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditCopy" Command="{Binding EditCopy, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditPasteSpecial" Command="{Binding EditPasteSpecial, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biFont">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarEditItemLink BarItemName="biFormatFontName"/>
<dxb:BarEditItemLink BarItemName="biFormatFontSize"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarEditItem x:Name="biFormatFontName" Command="{Binding FormatFontName, Mode=OneTime, Source={StaticResource commands}}" EditWidth="150">
<dxb:BarEditItem.EditSettings>
<dxre:FontComboBoxEditSettings/>
</dxb:BarEditItem.EditSettings>
</dxb:BarEditItem>
<dxb:BarEditItem x:Name="biFormatFontSize" Command="{Binding FormatFontSize, Mode=OneTime, Source={StaticResource commands}}" EditWidth="50">
<dxb:BarEditItem.EditSettings>
<dxre:FontSizeComboBoxEditSettings OfficeFontSizeProvider="{Binding ElementName=RichEditControl1}"/>
</dxb:BarEditItem.EditSettings>
</dxb:BarEditItem>
<dxr:BarButtonGroup x:Name="biFontSize">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biFormatIncreaseFontSize"/>
<dxb:BarButtonItemLink BarItemName="biFormatDecreaseFontSize"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarButtonItem x:Name="biFormatIncreaseFontSize" Command="{Binding FormatIncreaseFontSize, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatDecreaseFontSize" Command="{Binding FormatDecreaseFontSize, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biClearFormatting">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biFormatClearFormatting"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarButtonItem x:Name="biFormatClearFormatting" Command="{Binding FormatClearFormatting, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biFontShape">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biFormatFontBold"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontItalic"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontUnderline"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontDoubleUnderline"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontStrikeout"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontDoubleStrikeout"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontSuperscript"/>
<dxb:BarCheckItemLink BarItemName="biFormatFontSubscript"/>
<dxb:BarSubItemLink BarItemName="biEditChangeCase"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarCheckItem x:Name="biFormatFontBold" Command="{Binding FormatFontBold, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontItalic" Command="{Binding FormatFontItalic, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontUnderline" Command="{Binding FormatFontUnderline, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontDoubleUnderline" Command="{Binding FormatFontDoubleUnderline, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontStrikeout" Command="{Binding FormatFontStrikeout, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontDoubleStrikeout" Command="{Binding FormatFontDoubleStrikeout, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontSuperscript" Command="{Binding FormatFontSuperscript, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatFontSubscript" Command="{Binding FormatFontSubscript, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarSubItem x:Name="biEditChangeCase" Command="{Binding EditChangeCase, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biEditMakeUpperCase"/>
<dxb:BarButtonItemLink BarItemName="biEditMakeLowerCase"/>
<dxb:BarButtonItemLink BarItemName="biEditToggleCase"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarButtonItem x:Name="biEditMakeUpperCase" Command="{Binding EditMakeUpperCase, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditMakeLowerCase" Command="{Binding EditMakeLowerCase, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditToggleCase" Command="{Binding EditToggleCase, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biFontColor">
<dxr:BarButtonGroup.ItemLinks>
<dxre:BarSplitButtonColorEditItemLink BarItemName="biFormatFontBackColor"/>
<dxre:BarSplitButtonColorEditItemLink BarItemName="biFormatFontForeColor"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxre:BarSplitButtonColorEditItem x:Name="biFormatFontBackColor" Command="{Binding FormatFontBackColor, Mode=OneTime, Source={StaticResource commands}}">
<dxre:BarSplitButtonColorEditItem.PopupControl>
<dxb:PopupControlContainerInfo>
<dxe:ColorEdit ChipSize="Large" ChipMargin="5" ColumnCount="5" EditValue="{Binding EditValue, ElementName=biFormatFontBackColor, Mode=TwoWay}" ShowMoreColorsButton="False" ShowDefaultColorButton="False" ShowNoColorButton="True" ShowBorder="False">
<dxe:ColorEdit.Palettes>
<dxre:CharactersBackgroundColorPaletteCollection/>
</dxe:ColorEdit.Palettes>
</dxe:ColorEdit>
</dxb:PopupControlContainerInfo>
</dxre:BarSplitButtonColorEditItem.PopupControl>
</dxre:BarSplitButtonColorEditItem>
<dxre:BarSplitButtonColorEditItem x:Name="biFormatFontForeColor" Command="{Binding FormatFontForeColor, Mode=OneTime, Source={StaticResource commands}}">
<dxre:BarSplitButtonColorEditItem.PopupControl>
<dxb:PopupControlContainerInfo>
<dxe:ColorEdit EditValue="{Binding EditValue, ElementName=biFormatFontForeColor, Mode=TwoWay}" ShowBorder="False"/>
</dxb:PopupControlContainerInfo>
</dxre:BarSplitButtonColorEditItem.PopupControl>
</dxre:BarSplitButtonColorEditItem>
<dxr:BarButtonGroup x:Name="biNumberingList">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biFormatBulletedList"/>
<dxb:BarCheckItemLink BarItemName="biFormatNumberingList"/>
<dxb:BarCheckItemLink BarItemName="biFormatMultilevelList"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarCheckItem x:Name="biFormatBulletedList" Command="{Binding FormatBulletedList, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatNumberingList" Command="{Binding FormatNumberingList, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatMultilevelList" Command="{Binding FormatMultilevelList, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biParagraphIndent">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biFormatDecreaseIndent"/>
<dxb:BarButtonItemLink BarItemName="biFormatIncreaseIndent"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarButtonItem x:Name="biFormatDecreaseIndent" Command="{Binding FormatDecreaseIndent, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatIncreaseIndent" Command="{Binding FormatIncreaseIndent, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biShowWhitespace">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biViewShowWhitespace"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarCheckItem x:Name="biViewShowWhitespace" Command="{Binding ViewShowWhitespace, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biParagraphAlignment">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphAlignLeft"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphAlignCenter"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphAlignRight"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphAlignJustify"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarCheckItem x:Name="biFormatParagraphAlignLeft" Command="{Binding FormatParagraphAlignLeft, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphAlignCenter" Command="{Binding FormatParagraphAlignCenter, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphAlignRight" Command="{Binding FormatParagraphAlignRight, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphAlignJustify" Command="{Binding FormatParagraphAlignJustify, Mode=OneTime, Source={StaticResource commands}}"/>
<dxr:BarButtonGroup x:Name="biLineSpacing">
<dxr:BarButtonGroup.ItemLinks>
<dxb:BarSubItemLink BarItemName="biFormatParagraphLineSpacing"/>
<dxre:BarSplitButtonColorEditItemLink BarItemName="biFormatParagraphBackColor"/>
</dxr:BarButtonGroup.ItemLinks>
</dxr:BarButtonGroup>
<dxb:BarSubItem x:Name="biFormatParagraphLineSpacing" Command="{Binding FormatParagraphLineSpacing, Mode=OneTime, Source={StaticResource commands}}">
<dxb:BarSubItem.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphLineSpacingSingle"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphLineSpacingSesquialteral"/>
<dxb:BarCheckItemLink BarItemName="biFormatParagraphLineSpacingDouble"/>
<dxb:BarButtonItemLink BarItemName="biFormatParagraphLineSpacingCustomize"/>
<dxb:BarButtonItemLink BarItemName="biFormatParagraphAddSpacingBefore"/>
<dxb:BarButtonItemLink BarItemName="biFormatParagraphRemoveSpacingBefore"/>
<dxb:BarButtonItemLink BarItemName="biFormatParagraphAddSpacingAfter"/>
<dxb:BarButtonItemLink BarItemName="biFormatParagraphRemoveSpacingAfter"/>
</dxb:BarSubItem.ItemLinks>
</dxb:BarSubItem>
<dxb:BarCheckItem x:Name="biFormatParagraphLineSpacingSingle" Command="{Binding FormatParagraphLineSpacingSingle, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphLineSpacingSesquialteral" Command="{Binding FormatParagraphLineSpacingSesquialteral, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarCheckItem x:Name="biFormatParagraphLineSpacingDouble" Command="{Binding FormatParagraphLineSpacingDouble, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatParagraphLineSpacingCustomize" Command="{Binding FormatParagraphLineSpacingCustomize, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatParagraphAddSpacingBefore" Command="{Binding FormatParagraphAddSpacingBefore, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatParagraphRemoveSpacingBefore" Command="{Binding FormatParagraphRemoveSpacingBefore, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatParagraphAddSpacingAfter" Command="{Binding FormatParagraphAddSpacingAfter, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biFormatParagraphRemoveSpacingAfter" Command="{Binding FormatParagraphRemoveSpacingAfter, Mode=OneTime, Source={StaticResource commands}}"/>
<dxre:BarSplitButtonColorEditItem x:Name="biFormatParagraphBackColor" Command="{Binding FormatParagraphBackColor, Mode=OneTime, Source={StaticResource commands}}">
<dxre:BarSplitButtonColorEditItem.PopupControl>
<dxb:PopupControlContainerInfo>
<dxe:ColorEdit EditValue="{Binding EditValue, ElementName=biFormatParagraphBackColor, Mode=TwoWay}" ShowDefaultColorButton="False" ShowNoColorButton="True" ShowBorder="False"/>
</dxb:PopupControlContainerInfo>
</dxre:BarSplitButtonColorEditItem.PopupControl>
</dxre:BarSplitButtonColorEditItem>
<dxr:BarButtonGroup x:Name="biParagraph"/>
<dxre:GalleryStyleItem x:Name="biGalleryStyle" Command="{Binding FormatFontStyle, Mode=OneTime, Source={StaticResource commands}}" RichEditControl="{Binding ElementName=recEditor }">
<dxre:GalleryStyleItem.Gallery>
<dxre:RichEditStyleGallery ColCount="10" ItemCheckMode="Single" IsItemGlyphVisible="False" ItemCaptionTemplate="{Binding StyleGalleryItemCaptionTemplate, Mode=OneTime, Source={StaticResource defaultBarItemTemplates}}" IsItemDescriptionVisible="False" MinColCount="3"/>
</dxre:GalleryStyleItem.Gallery>
</dxre:GalleryStyleItem>
<dxb:BarButtonItem x:Name="biEditFind" Command="{Binding EditFind, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biEditReplace" Command="{Binding EditReplace, Mode=OneTime, Source={StaticResource commands}}"/>
<dxre:InsertMergeFieldsBarSubItem x:Name="biMailMergeInsertFieldPlaceholder" Content="Insertar Campo Combinación" Command="{Binding MailMergeInsertFieldPlaceholder, Mode=OneTime, Source={StaticResource commands}}" RichEditControl="{Binding ElementName=recEditor}"/>
<dxb:BarCheckItem x:Name="biMailMergeViewMergedData" Command="{Binding MailMergeViewMergedData, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeShowAllFieldCodes" Command="{Binding MailMergeShowAllFieldCodes, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeShowAllFieldResults" Command="{Binding MailMergeShowAllFieldResults, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeFirstDataRecord" Command="{Binding MailMergeFirstDataRecord, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergePreviousDataRecord" Command="{Binding MailMergePreviousDataRecord, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeNextDataRecord" Command="{Binding MailMergeNextDataRecord, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeLastDataRecord" Command="{Binding MailMergeLastDataRecord, Mode=OneTime, Source={StaticResource commands}}"/>
<dxb:BarButtonItem x:Name="biMailMergeSaveDocumentAs" Command="{Binding MailMergeSaveDocumentAs, Mode=OneTime, Source={StaticResource commands}}"/>
</dxb:BarManager.Items>
<DockPanel>
<dxr:RibbonControl x:Name="RibbonControl1" DockPanel.Dock="Top" ToolbarShowMode="Hide" ShowApplicationButton="False" MinimizationButtonVisibility="Auto" PageCategoryAlignment="Left" RibbonStyle="Office2010">
<dxr:RibbonDefaultPageCategory>
<dxr:RibbonPage x:Name="pageFile" Caption="{Binding ConverterParameter=Caption_PageFile, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpFileCommon" Caption="{Binding ConverterParameter=Caption_GroupCommon, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biGuardarYSalir" />
<dxb:BarButtonItemLink BarItemName="biGuardar" />
<dxb:BarButtonItemLink BarItemName="biFileNew"/>
<dxb:BarButtonItemLink BarItemName="biFileOpen"/>
<!--<dxb:BarButtonItemLink BarItemName="biFileSave"/>-->
<dxb:BarButtonItemLink BarItemName="biFileSaveAs"/>
<dxb:BarButtonItemLink BarItemName="biFileQuickPrint"/>
<dxb:BarButtonItemLink BarItemName="biFilePrint"/>
<dxb:BarButtonItemLink BarItemName="biFilePrintPreview"/>
<dxb:BarButtonItemLink BarItemName="biEditUndo"/>
<dxb:BarButtonItemLink BarItemName="biEditRedo"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
<dxr:RibbonPage x:Name="pageHome" Caption="{Binding ConverterParameter=Caption_PageHome, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpHomeClipboard" Caption="{Binding ConverterParameter=Caption_GroupClipboard, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biEditPaste"/>
<dxb:BarButtonItemLink BarItemName="biEditCut"/>
<dxb:BarButtonItemLink BarItemName="biEditCopy"/>
<dxb:BarButtonItemLink BarItemName="biEditPasteSpecial"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpHomeFont" CaptionButtonCommand="{Binding FormatFont, Mode=OneTime, Source={StaticResource commands}}" Caption="{Binding ConverterParameter=Caption_GroupFont, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup.ItemLinks>
<dxr:BarButtonGroupLink BarItemName="biFont"/>
<dxr:BarButtonGroupLink BarItemName="biFontSize"/>
<dxr:BarButtonGroupLink BarItemName="biClearFormatting"/>
<dxr:BarButtonGroupLink BarItemName="biFontShape"/>
<dxr:BarButtonGroupLink BarItemName="biFontColor"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpHomeParagraph" CaptionButtonCommand="{Binding FormatParagraph, Mode=OneTime, Source={StaticResource commands}}" Caption="{Binding ConverterParameter=Caption_GroupParagraph, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup.ItemLinks>
<dxr:BarButtonGroupLink BarItemName="biNumberingList"/>
<dxr:BarButtonGroupLink BarItemName="biParagraphIndent"/>
<dxr:BarButtonGroupLink BarItemName="biShowWhitespace"/>
<dxr:BarButtonGroupLink BarItemName="biParagraphAlignment"/>
<dxr:BarButtonGroupLink BarItemName="biLineSpacing"/>
<dxr:BarButtonGroupLink BarItemName="biParagraph"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpHomeStyles" CaptionButtonCommand="{Binding FormatEditFontStyle, Mode=OneTime, Source={StaticResource commands}}" Caption="{Binding ConverterParameter=Caption_GroupStyles, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup.ItemLinks>
<dxre:RibbonStyleGalleryItemLink BarItemName="biGalleryStyle"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpHomeEditing" Caption="{Binding ConverterParameter=Caption_GroupEditing, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biEditFind"/>
<dxb:BarButtonItemLink BarItemName="biEditReplace"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
<dxr:RibbonPage x:Name="pageInsert" Caption="{Binding ConverterParameter=Caption_PageInsert, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpInsertPages" Caption="{Binding ConverterParameter=Caption_GroupPages, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertPageBreak"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertTables" Caption="{Binding ConverterParameter=Caption_GroupTables, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertTable"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertIllustrations" Caption="{Binding ConverterParameter=Caption_GroupIllustrations, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertPicture"/>
<dxb:BarButtonItemLink BarItemName="biInsertFloatingPicture"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertLinks" Caption="{Binding ConverterParameter=Caption_GroupLinks, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertBookmark"/>
<dxb:BarButtonItemLink BarItemName="biInsertHyperlink"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertHeaderFooter" Caption="{Binding ConverterParameter=Caption_GroupHeaderFooter, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertHeader"/>
<dxb:BarButtonItemLink BarItemName="biInsertFooter"/>
<dxb:BarButtonItemLink BarItemName="biInsertPageNumber"/>
<dxb:BarButtonItemLink BarItemName="biInsertPageCount"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertText" Caption="{Binding ConverterParameter=Caption_GroupText, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertTextBox"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpInsertSymbols" Caption="{Binding ConverterParameter=Caption_GroupSymbols, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biInsertSymbol"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
<dxr:RibbonPage x:Name="pagePageLayout" Caption="{Binding ConverterParameter=Caption_PagePageLayout, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpPageLayoutPageSetup" Caption="{Binding ConverterParameter=Caption_GroupPageSetup, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" CaptionButtonCommand="{Binding PageLayoutPageOptions, Mode=OneTime, Source={StaticResource commands}}">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarSubItemLink BarItemName="biPageLayoutMargins"/>
<dxb:BarSubItemLink BarItemName="biPageLayoutOrientation"/>
<dxb:BarSubItemLink BarItemName="biPageLayoutSize"/>
<dxb:BarSubItemLink BarItemName="biPageLayoutColumns"/>
<dxb:BarSubItemLink BarItemName="biInsertBreak"/>
<dxb:BarSubItemLink BarItemName="biPageLayoutLineNumbering"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpPageLayoutPageBackground" ShowCaptionButton="False" Caption="{Binding ConverterParameter=Caption_GroupPageBackground, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup.ItemLinks>
<dxre:BarButtonColorEditItemLink BarItemName="biPageLayoutPageColor"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
<dxr:RibbonPage x:Name="pageView" Caption="{Binding ConverterParameter=Caption_PageView, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpViewDocumentViews" Caption="{Binding ConverterParameter=Caption_GroupDocumentViews, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biViewDraft"/>
<dxb:BarCheckItemLink BarItemName="biViewPrintLayout"/>
<dxb:BarCheckItemLink BarItemName="biViewSimple"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpViewShow" Caption="{Binding ConverterParameter=Caption_GroupShow, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biViewHorizontalRuler"/>
<dxb:BarCheckItemLink BarItemName="biViewVerticalRuler"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpViewZoom" Caption="{Binding ConverterParameter=Caption_GroupZoom, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarButtonItemLink BarItemName="biViewZoomOut"/>
<dxb:BarButtonItemLink BarItemName="biViewZoomIn"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
<dxr:RibbonPage x:Name="pageMailMerge" Caption="{Binding ConverterParameter=Caption_PageMailings, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}">
<dxr:RibbonPageGroup x:Name="grpMailMergeWriteInsertFields" Caption="{Binding ConverterParameter=Caption_GroupWriteInsertFields, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarSubItemLink BarItemName="biMailMergeInsertFieldPlaceholder"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
<dxr:RibbonPageGroup x:Name="grpMailMergePreviewResults" Caption="{Binding ConverterParameter=Caption_GroupPreviewResults, Converter={StaticResource stringIdConverter}, Mode=OneTime, Source={StaticResource stringIdConverter}}" ShowCaptionButton="False">
<dxr:RibbonPageGroup.ItemLinks>
<dxb:BarCheckItemLink BarItemName="biMailMergeViewMergedData"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeShowAllFieldCodes"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeShowAllFieldResults"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeFirstDataRecord"/>
<dxb:BarButtonItemLink BarItemName="biMailMergePreviousDataRecord"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeNextDataRecord"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeLastDataRecord"/>
<dxb:BarButtonItemLink BarItemName="biMailMergeSaveDocumentAs"/>
</dxr:RibbonPageGroup.ItemLinks>
</dxr:RibbonPageGroup>
</dxr:RibbonPage>
</dxr:RibbonDefaultPageCategory>
</dxr:RibbonControl>
<dxre:RichEditControl x:FieldModifier="Public" x:Name="recEditor" BarManager="{Binding ElementName=BarManager1, Mode=OneTime}" Ribbon="{Binding ElementName=RibbonControl1, Mode=OneTime}" Unit="Millimeter"/>
</DockPanel>
</dxb:BarManager>
</Grid>
</Window>

110
Informes/dxwEditor.xaml.vb Normal file
View File

@@ -0,0 +1,110 @@
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.RichEdit
Imports DevExpress.XtraRichEdit.Export
Imports DevExpress.XtraRichEdit.Export.Html
Imports DevExpress.XtraRichEdit.Commands
Imports DevExpress.Office.Services
Public Class dxwEditor
Public Delegate Sub Guardar(ms As IO.Stream)
Public Delegate Sub GuardarYExportarHTML(ms As IO.Stream, msHTML As IO.Stream)
Private DlGuardar As Guardar
Private DlGuardarYExportarHTML As GuardarYExportarHTML
Public Delegate Sub CargarDatosMailMerge(dxrte As RichEditControl)
Private DlCargarDatosMailMerge As CargarDatosMailMerge
Private _FormatoOrigen As DevExpress.XtraRichEdit.DocumentFormat
Private _FormatoDestino As DevExpress.XtraRichEdit.DocumentFormat
Private _SoloLectura As Boolean
Private Sub biGuardar_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Dim ms As New IO.MemoryStream
'If _Formato = DevExpress.XtraRichEdit.DocumentFormat.Html Then
' Dim options As New HtmlDocumentExporterOptions()
' options.ExportRootTag = ExportRootTag.Html
' options.CssPropertiesExportType = CssPropertiesExportType.Inline
' options.EmbedImages = True
' Dim exporter = New HtmlExporter(Me.recEditor.Model, options)
' Dim s As String = exporter.Export()
' ms = New IO.MemoryStream(System.Text.Encoding.Unicode.GetBytes(s))
'Else
Me.recEditor.SaveDocument(ms, _FormatoDestino)
'End If
If Me.DlGuardar IsNot Nothing Then
Me.DlGuardar.Invoke(ms)
End If
If Me.DlGuardarYExportarHTML IsNot Nothing Then
Dim options As New HtmlDocumentExporterOptions()
options.ExportRootTag = ExportRootTag.Html
options.CssPropertiesExportType = CssPropertiesExportType.Inline
options.EmbedImages = True
Dim exporter = New HtmlExporter(Me.recEditor.Model, options)
Dim s As String = exporter.Export()
Dim mshtml = New IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(s))
Me.DlGuardarYExportarHTML(ms, mshtml)
End If
End Sub
Private Sub biGuardarYSalir_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
biGuardar_ItemClick(sender, e)
Me.Close()
End Sub
Public Sub New(Documento As IO.Stream, DelegadoGuardar As Guardar, Optional DelegadoCargaMailMerge As CargarDatosMailMerge = Nothing, Optional SoloLectura As Boolean = False)
_FormatoOrigen = DevExpress.XtraRichEdit.DocumentFormat.OpenXml
_FormatoDestino = DevExpress.XtraRichEdit.DocumentFormat.OpenXml
_SoloLectura = SoloLectura
Nuevo(Documento, DelegadoGuardar, Nothing, DelegadoCargaMailMerge)
End Sub
Public Sub New(Documento As IO.Stream, FormatoOrigen As DevExpress.XtraRichEdit.DocumentFormat, FormatoDestino As DevExpress.XtraRichEdit.DocumentFormat, DelegadoGuardarYExportarHTML As GuardarYExportarHTML, Optional DelegadoCargaMailMerge As CargarDatosMailMerge = Nothing, Optional SoloLectura As Boolean = False)
_FormatoOrigen = FormatoOrigen
_FormatoDestino = FormatoDestino
_SoloLectura = SoloLectura
Nuevo(Documento, Nothing, DelegadoGuardarYExportarHTML, DelegadoCargaMailMerge)
End Sub
Public Sub New(Documento As IO.Stream, FormatoOrigen As DevExpress.XtraRichEdit.DocumentFormat, FormatoDestino As DevExpress.XtraRichEdit.DocumentFormat, DelegadoGuardar As Guardar, Optional DelegadoCargaMailMerge As CargarDatosMailMerge = Nothing, Optional SoloLectura As Boolean = False)
_FormatoOrigen = FormatoOrigen
_FormatoDestino = FormatoDestino
_SoloLectura = SoloLectura
Nuevo(Documento, DelegadoGuardar, Nothing, DelegadoCargaMailMerge)
End Sub
Private Sub Nuevo(Documento As IO.Stream, DelegadoGuardar As Guardar, Optional DelegadoGuardaryExportarHTML As GuardarYExportarHTML = Nothing, Optional DelegadoCargaMailMerge As CargarDatosMailMerge = Nothing)
Try
DXSplashScreen.Show(Of SplashScreenTecnosis)()
DXSplashScreen.SetState("Cargando Documento ...")
' Llamada necesaria para el diseñador.
InitializeComponent()
DlGuardar = DelegadoGuardar
If _SoloLectura Then Me.biGuardar.IsEnabled = False
DlGuardarYExportarHTML = DelegadoGuardaryExportarHTML
DlCargarDatosMailMerge = DelegadoCargaMailMerge
If Documento IsNot Nothing Then
Me.recEditor.LoadDocument(Documento, _FormatoOrigen)
Else
Me.recEditor.Document.Sections(0).Page.PaperKind = System.Drawing.Printing.PaperKind.A4
End If
Catch ex As Exception
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
DXMessageBox.Show(ex.Message, "Error Cargando Documento")
Finally
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
End Try
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
Private Sub dxwEditor_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
If Me.DlCargarDatosMailMerge IsNot Nothing Then
Me.DlCargarDatosMailMerge.Invoke(Me.recEditor)
Else
Me.pageMailMerge.IsVisible = False
End If
End Sub
End Class

View File

@@ -0,0 +1,34 @@
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Xpf.Printing
Imports DevExpress.XtraReports.UI
Imports Microsoft.Win32
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports DevExpress.XtraPrinting
Imports DevExpress.Xpf.Printing.PreviewControl
Imports System.IO
Imports DevExpress.XtraPrinting.Native.ExportOptionsControllers
Public Class tsDocumentPreviewControl
Inherits DocumentPreviewControl
Public Overrides Sub Save()
Dim sfd As New SaveFileDialog
sfd.FileName = MyBase.Document.DefaultFileName
sfd.Filter = "Archivo pdf|*.pdf"
sfd.DefaultExt = ".pdf"
If sfd.ShowDialog Then
Dim optionsModel = ExportOptionsViewModel.Create(Document.PrintingSystem, ExportFormat.Pdf)
optionsModel.FileName = sfd.FileName
optionsModel.OpenFileAfterExport = True
MyBase.Export(optionsModel)
End If
End Sub
End Class

View File

@@ -0,0 +1,25 @@
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Xpf.Printing
Imports DevExpress.XtraReports.UI
Imports Microsoft.Win32
Public Class tsXtraReportPreviewModel
Inherits XtraReportPreviewModel
Public Sub New(ByVal report As DevExpress.XtraReports.UI.XtraReport)
MyBase.New(report)
End Sub
Protected Overrides Sub Save(parameter As Object)
'MyBase.Save(parameter)
Dim sfd As New SaveFileDialog
sfd.FileName = PrintingSystem.ExportOptions.PrintPreview.DefaultFileName
sfd.Filter = "Archivo pdf|*.pdf"
sfd.DefaultExt = ".pdf"
If sfd.ShowDialog Then
PrintingSystem.ExportToPdf(sfd.FileName)
End If
End Sub
End Class

View File

@@ -0,0 +1,38 @@
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxrd="http://schemas.devexpress.com/winfx/2008/xaml/reportdesigner"
xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxrud="http://schemas.devexpress.com/winfx/2008/xaml/reports/userdesigner" x:Class="ucDiseñadorInformes" >
<!--<UserControl.Resources>
<DataTemplate x:Key="RibbonTemplate">
<dxr:RibbonActionContainer>
<dxb:RemoveBarItemAndLinkAction ItemName="reportNew" />
<dxb:AddBarItemAction>
<dxb:AddBarItemAction.Item>
<dxb:BarButtonItem Name="myTestButton"
Command="{Binding DoWork}"
Content="{Binding ButtonContent}"
Hint="A custom button." />
</dxb:AddBarItemAction.Item>
</dxb:AddBarItemAction>
<dxr:AddRibbonPageGroupItemLinkAction GroupName="report">
<dxr:AddRibbonPageGroupItemLinkAction.ItemLink>
<dxb:BarItemLink BarItemName="myTestButton" />
</dxr:AddRibbonPageGroupItemLinkAction.ItemLink>
</dxr:AddRibbonPageGroupItemLinkAction>
</dxr:RibbonActionContainer>
</DataTemplate>
</UserControl.Resources>-->
<dxrud:ReportDesigner x:Name="tsrd" >
<dxrud:ReportDesignerClassicView x:Name="tsrdv" ></dxrud:ReportDesignerClassicView>
<!--<dxrud:ReportDesigner.RibbonCustomizationActions>
<dxb:RemoveAction ElementName="{x:Static dxrud:DefaultBarItemNames.SaveAs}" />
<dxb:RemoveAction ElementName="{x:Static dxrud:DefaultBarItemNames.Open}" />
<dxb:RemoveAction ElementName="{x:Static dxrud:DefaultBarItemNames.New}" />
</dxrud:ReportDesigner.RibbonCustomizationActions>-->
</dxrud:ReportDesigner>
</UserControl>

View File

@@ -0,0 +1,190 @@
Imports DevExpress.Xpf.Reports.UserDesigner
Imports DevExpress.Xpf.Reports.UserDesigner.Native
Imports DevExpress.XtraReports.UI
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Windows
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.Ribbon
Imports DevExpress.Xpf.Core.Native
Imports Microsoft.Win32
Public Class ucDiseñadorInformes
'Private _irs As DevExpress.Xpf.Reports.UserDesigner.IReportStorage
'Private _xr As DevExpress.XtraReports.UI.XtraReport
'Private _id As Integer
' Public Delegate Sub Guardar(ms As IO.Stream, idPlantilla As Integer)
' Public Delegate Sub Guardar(b() As Byte, idPlantilla As Integer)
' Private _DelegadoGuardar As Guardar
Private _idPlantilla As Integer
Private Sub ucDiseñadorInformes_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Me.tsrd.ReportStorage = _irs
' Me.tsrd.OpenDocument(_xr)
End Sub
Public Sub New(xr As DevExpress.XtraReports.UI.XtraReport, idPlantilla As Integer, DelegadoGuardar As IRS.Guardar)
Try
Dim irs = New IRS(idPlantilla, DelegadoGuardar)
' Llamada necesaria para el diseñador.
DXSplashScreen.Show(Of SplashScreenTecnosis)()
DXSplashScreen.SetState("Cargando Diseñador de Plantillas ...")
InitializeComponent()
DXSplashScreen.SetState("Cargando Plantilla ...")
Me.tsrd.ReportStorage = irs
Me.tsrd.OpenDocument(xr)
_idPlantilla = idPlantilla
Catch ex As Exception
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
Throw New Exception(ex.Message, ex)
End Try
' _xr = xr
' _DelegadoGuardar = DelegadoGuardar
' DXSplashScreen.Close()
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
'Private Sub tsrd_DocumentSaved(sender As Object, e As ReportDesignerDocumentEventArgs)
' Dim report As XtraReport = e.Document.Report
' Dim ms As New MemoryStream
' report.SaveLayout(ms)
' _DelegadoGuardar(ms.ToArray, _idPlantilla)
'End Sub
Private Sub tsrd_Loaded(sender As Object, e As RoutedEventArgs) Handles tsrd.Loaded
Try
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
Dim rd As RibbonControl = CType(LayoutHelper.FindElementByType(tsrd, GetType(RibbonControl)), RibbonControl)
If rd IsNot Nothing Then
Dim categorias = rd.Categories
For Each c In rd.Categories
For Each p In c.Pages
For Each g In p.Groups
For Each item In g.Items
If TypeOf item Is DevExpress.Xpf.Bars.BarButtonItem Then
Dim it = TryCast(item, DevExpress.Xpf.Bars.BarButtonItem)
If it IsNot Nothing AndAlso it.Content IsNot Nothing Then
Debug.Write(it.Content)
Select Case it.Content.ToString.ToLower
'Case "new report", "open...", "save as..."
' it.IsVisible = False
Case "new report"
it.IsVisible = False
Case "open..."
it.Content = "Abrir..."
' it.IsVisible = True
Case "save as..."
it.Content = "Guardar como..."
Case "save"
it.Content = "Guardar"
End Select
End If
End If
Next
Next
Next
Next
End If
Catch ex As Exception
DXMessageBox.Show(ex.Message & vbCrLf & ex.StackTrace, "Error en tsrd_Loaded")
Throw New Exception(ex.Message, ex)
End Try
' tsrdv.ActiveDocument.Close()
End Sub
End Class
Public Class IRS
Implements IReportStorage
Public Delegate Sub Guardar(b() As Byte, idPlantilla As Integer)
' Private _xr As DevExpress.XtraReports.UI.XtraReport
Private _idPlantilla As Integer
Private _DelegadoGuardar As Guardar
Public Function CanCreateNew() As Boolean Implements IReportStorage.CanCreateNew
Return False
End Function
Public Function CanOpen() As Boolean Implements IReportStorage.CanOpen
Return True
End Function
Public Function CreateNew() As XtraReport Implements IReportStorage.CreateNew
End Function
Public Function CreateNewSubreport() As XtraReport Implements IReportStorage.CreateNewSubreport
End Function
Public Function GetErrorMessage(exception As Exception) As String Implements IReportStorage.GetErrorMessage
End Function
Private Function GetBuffer(ByVal report As XtraReport) As Byte()
Using stream As New MemoryStream()
report.SaveLayout(stream)
Return stream.ToArray()
End Using
End Function
Public Function Load(reportID As String, designerReportSerializer As IReportSerializer) As XtraReport Implements IReportStorage.Load
Return XtraReport.FromFile(reportID, True)
' Return XtraReport.FromStream(MS, True)
End Function
Public Function Open(designer As IReportDesignerUI) As String Implements IReportStorage.Open
Dim fb As New OpenFileDialog
fb.Filter = "Archivo xml|*.xml"
fb.DefaultExt = ".xml"
If fb.ShowDialog Then
Return fb.FileName
Else
Return ""
End If
End Function
Public Function Save(reportID As String, reportProvider As IReportProvider, saveAs As Boolean, reportTitle As String, designer As IReportDesignerUI) As String Implements IReportStorage.Save
Dim report As XtraReport = reportProvider.GetReport()
If saveAs Then
Dim sfd As New SaveFileDialog
sfd.FileName = report.Name & ".xml"
sfd.Filter = "Archivo xml|*.xml"
sfd.DefaultExt = ".xml"
If sfd.ShowDialog Then
Dim fs As New IO.FileStream(sfd.FileName, FileMode.Create)
report.SaveLayoutToXml(fs)
fs.Close()
End If
Return ""
Else
Dim ms As New MemoryStream
report.SaveLayoutToXml(ms)
_DelegadoGuardar(ms.ToArray, _idPlantilla)
Return ""
End If
End Function
Public Sub New(idPlantilla As Integer, DelegadoGuardar As Guardar)
_DelegadoGuardar = DelegadoGuardar
_idPlantilla = idPlantilla
' _xr = xr
End Sub
End Class

1597
Informes/ucExcelViewer.xaml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
Public Class ucExcelViewer
Public Sub New(st As IO.Stream, formato As DevExpress.Spreadsheet.DocumentFormat)
' Llamada necesaria para el diseñador.
InitializeComponent()
Me.SpreadsheetControl.LoadDocument(st, formato)
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
End Class

17
Informes/ucPDFViewer.xaml Normal file
View File

@@ -0,0 +1,17 @@
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" x:Class="ucPDFViewer"
xmlns:lc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:dxpdf="http://schemas.devexpress.com/winfx/2008/xaml/pdf"
xmlns:local="clr-namespace:tsWPFCore"
mc:Ignorable="d"
d:DesignHeight="1000" d:DesignWidth="1000">
<Grid>
<dxpdf:PdfViewerControl CommandBarStyle="Bars" x:FieldModifier="Public" x:Name="VisorPDF"/>
</Grid>
</UserControl>

View File

@@ -0,0 +1,43 @@
Imports DevExpress.Xpf.Docking
Public Class ucPDFViewer
Public Sub New(st As IO.Stream)
' Esta llamada es exigida por el diseñador.
InitializeComponent()
If st IsNot Nothing Then Me.VisorPDF.DocumentSource = st
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
Public Sub New(st As IO.Stream, grd As DocumentGroup, id As String)
' Esta llamada es exigida por el diseñador.
InitializeComponent()
If st IsNot Nothing Then Me.VisorPDF.DocumentSource = st
Dim cmdp = Me.VisorPDF.CommandProvider
Dim dc = Comun.dm.DockController
Dim docpanel As DevExpress.Xpf.Docking.DocumentPanel
Dim d = (From p In grd.Items Where p.Tag = id)
If d.Count > 0 Then
docpanel = d.First
Else
docpanel = New DevExpress.Xpf.Docking.DocumentPanel
docpanel.Caption = id
docpanel.Content = Me
docpanel.ClosingBehavior = DevExpress.Xpf.Docking.ClosingBehavior.ImmediatelyRemove
docpanel.Tag = id
grd.Items.Add(docpanel)
End If
dc.Activate(docpanel)
End Sub
End Class

View File

@@ -0,0 +1,44 @@
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" x:Class="ucVisualizadorInformes"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:local="clr-namespace:tsWPFCore"
mc:Ignorable="d"
d:DesignHeight="1000" d:DesignWidth="1000">
<Grid >
<dxp:DocumentPreviewControl x:Name="Visualizador" x:FieldModifier="public" CommandBarStyle="Ribbon" >
</dxp:DocumentPreviewControl>
</Grid>
<UserControl.Resources>
<DataTemplate x:Key="pageFooterTemplate">
<dxe:TextEdit dxp:ExportSettings.TargetType="PageNumber"
dxp:PageNumberExportSettings.Kind="NumberOfTotal"
dxp:PageNumberExportSettings.Format="{}Página {0} / {1}"
FontSize="12"
FontFamily="Arial"
IsPrintingMode="True"
HorizontalContentAlignment="Right"
Width="{Binding UsablePageWidth}"/>
</DataTemplate>
<DataTemplate x:Key="pageHeaderTemplate">
<Grid Margin="0,10,0,10" Width="{Binding UsablePageWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<dxe:TextEdit IsPrintingMode="True"
FontSize="18" FontFamily="Arial" FontWeight="Bold"
HorizontalContentAlignment="Left"
EditValue="{Binding Path=Content.CabeceraImpresion}"/>
<dxe:TextEdit IsPrintingMode="True" Grid.Column="1"
EditValue="{Binding Path=Content.ReportDate, Mode=OneWay}"/>
</Grid>
</DataTemplate>
</UserControl.Resources>
</UserControl>

View File

@@ -0,0 +1,25 @@
Imports DevExpress.Xpf.Docking
Public Class ucVisualizadorInformes
Private Sub ucVisualizadorInformes_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
Try
DirectCast(Me.Parent, DocumentPanel).Tag = "visualizadorinformes"
Catch ex As Exception
End Try
End Sub
Private Sub ucVisualizadorInformes_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
'Try
' Dim modelo As tsXtraReportPreviewModel = Me.Visualizador.Model
' modelo.Report.Dispose()
' modelo.Dispose()
'Catch ex As Exception
'End Try
End Sub
End Class

View File

@@ -0,0 +1,17 @@
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing" x:Class="ucVisualizadorInformesa"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:local="clr-namespace:tsWPFCore"
mc:Ignorable="d"
d:DesignHeight="1000" d:DesignWidth="1000">
<Grid >
<dxp:DocumentPreview x:Name="Visualizador" x:FieldModifier="public" />
</Grid>
</UserControl>

View File

@@ -0,0 +1,50 @@
Imports DevExpress.Xpf.Docking
Imports DevExpress.Xpf.Printing
Imports Microsoft.Win32
Public Class ucVisualizadorInformesa
Private Sub ucVisualizadorInformes_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
Try
DirectCast(Me.Parent, DocumentPanel).Tag = "visualizadorinformes"
Catch ex As Exception
End Try
End Sub
Private Sub ucVisualizadorInformes_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
'Try
' Dim modelo As tsXtraReportPreviewModel = Me.Visualizador.Model
' modelo.Report.Dispose()
' modelo.Dispose()
'Catch ex As Exception
'End Try
End Sub
'Private Sub Visualizador_Loaded(sender As Object, e As RoutedEventArgs) Handles Visualizador.Loaded
' Debug.Print(Me.Visualizador.DocumentViewer.ToString)
'End Sub
End Class
'Public Class tsXtraReportPreviewModel
' Inherits XtraReportPreviewModel
' Public Sub New(ByVal report As DevExpress.XtraReports.UI.XtraReport)
' MyBase.New(report)
' End Sub
' Protected Overrides Sub Save(parameter As Object)
' 'MyBase.Save(parameter)
' Dim sfd As New SaveFileDialog
' sfd.FileName = PrintingSystem.ExportOptions.PrintPreview.DefaultFileName
' sfd.Filter = "Archivo pdf|*.pdf"
' sfd.DefaultExt = ".pdf"
' If sfd.ShowDialog Then
' PrintingSystem.ExportToPdf(sfd.FileName)
' End If
' End Sub
'End Class