Files
tsWPFCore/Plantillas.vb

294 lines
12 KiB
VB.net

Imports DevExpress.Xpf.Editors
Imports DevExpress.Mvvm.UI.Interactivity
Imports System.Globalization
Namespace Plantillas
Public Class SendEmailButton
Inherits Button
Public Sub New()
Me.SetDefaultStyleKey(GetType(SendEmailButton))
End Sub
Private Sub SetDefaultStyleKey(type As Type)
End Sub
End Class
Public Class Comun
' Public Shared ColorFondo As SolidColorBrush = New SolidColorBrush(Colors.DarkGray)
Public Shared ColorTexto As SolidColorBrush = New SolidColorBrush(Colors.DarkGray)
End Class
Public Class Impar
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
Dim rh As DevExpress.Xpf.Data.RowHandle = value
Dim valor As Integer = If(rh Is Nothing, 0, rh.Value)
Return (valor Mod 2 > 0)
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Return value
End Function
End Class
Public Class DateTimeToDateConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateTime = value
Return New Date(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As Date = value
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
End Class
Public Class DateOnlyToDateTimeConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateOnly = value
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateTime = value
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
End Class
Public Class DateOnlyToDateConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateOnly = value
Return New Date(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As Date = value
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
End Class
Public Class DateTimeToDateOnlyConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateTime = value
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dtmp As DateOnly = value
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
End If
End Function
End Class
Public Class DoubleToTimeSpanConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim Valor As TimeSpan? = TimeSpan.FromTicks(value)
If Valor.HasValue Then
Dim Valors As String = Fix(Math.Abs(Valor.Value.TotalHours)).ToString.PadLeft(2, "0") & ":" & Math.Abs(CInt(Valor.Value.Minutes)).ToString.PadLeft(2, "0")
If Valor.Value.Ticks < 0 Then
Valors = "-" & Valors
End If
Return Valors
Else
Return Nothing
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Try
If value Is Nothing Then
Return Nothing
Else
Dim Valor As String = value
If Valor = "" Then
Return Nothing
Else
If Valor.StartsWith("-") Then
Dim tsn = New TimeSpan(Math.Abs(CInt(Valor.Split(":")(0))), CInt(Valor.Split(":")(1)), 0)
Return -tsn
Else
Return New TimeSpan(CInt(Valor.Split(":")(0)), CInt(Valor.Split(":")(1)), 0)
End If
End If
End If
Catch ex As Exception
Return DependencyProperty.UnsetValue ' Return New TimeSpan(0)
End Try
End Function
End Class
Public Class DateTimeToTimeSpanConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim ts As TimeSpan = value
Dim ahora As DateTime = Now
Return New DateTime(ahora.Year, ahora.Month, ahora.Day, ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dt As DateTime = value
Return dt.TimeOfDay
End If
End Function
End Class
Public Class TimeSpanConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
' Try
Dim Valor As TimeSpan? = value
If Valor.HasValue Then
Dim Valors As String = Fix(Math.Abs(Valor.Value.TotalHours)).ToString.PadLeft(2, "0") & ":" & Math.Abs(CInt(Valor.Value.Minutes)).ToString.PadLeft(2, "0")
If Valor.Value.Ticks < 0 Then
Valors = "-" & Valors
End If
Return Valors
Else
Return Nothing
End If
' Catch ex As Exception
'Return "error"
' End Try
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Try
If value Is Nothing Then
Return Nothing
Else
Dim Valor As String = value
If Valor = "" Then
Return Nothing
Else
If Valor.StartsWith("-") Then
Dim tsn = New TimeSpan(Math.Abs(CInt(Valor.Split(":")(0))), CInt(Valor.Split(":")(1)), 0)
Return -tsn
Else
Return New TimeSpan(CInt(Valor.Split(":")(0)), CInt(Valor.Split(":")(1)), 0)
End If
End If
End If
Catch ex As Exception
Return DependencyProperty.UnsetValue ' Return New TimeSpan(0)
End Try
End Function
End Class
Public Class TrimTextOnLostFocusBehavior
Inherits Behavior(Of TextEdit)
Protected Overrides Sub OnAttached()
MyBase.OnAttached()
AddHandler AssociatedObject.IsKeyboardFocusWithinChanged, AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
' AssociatedObject.IsKeyboardFocusWithinChanged += AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
End Sub
Protected Overrides Sub OnDetaching()
MyBase.OnDetaching()
RemoveHandler AssociatedObject.IsKeyboardFocusWithinChanged, AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
End Sub
Private Sub AssociatedObject_IsKeyboardFocusWithinChanged(ByVal sender As Object, ByVal e As DependencyPropertyChangedEventArgs)
Dim currentValue As String = TryCast(AssociatedObject.EditValue, String)
If Not CBool(e.NewValue) AndAlso currentValue IsNot Nothing Then
AssociatedObject.EditValue = currentValue.Trim()
End If
End Sub
End Class
Public Class ExistenLineasConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
Dim lineas As IEnumerable(Of Object) = value
Return (lineas.Count > 0)
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Return value
End Function
End Class
Public Class DateTimeToDateTime
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If value Is Nothing Then
Return Nothing
Else
Dim dt As DateTime = value
Dim ahora As DateTime = Now
Return New DateTime(dt.Year, dt.Month, dt.Day)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
If value Is Nothing Then
Return Nothing
Else
Dim dt As DateTime = value
Return New DateTime(dt.Year, dt.Month, dt.Day)
End If
End Function
End Class
End Namespace