- Se traslada versión a git desde tfs
This commit is contained in:
61
tsTableView.xaml.vb
Normal file
61
tsTableView.xaml.vb
Normal file
@@ -0,0 +1,61 @@
|
||||
Imports DevExpress.Xpf.Grid
|
||||
|
||||
Public Class tsTableView
|
||||
Inherits DevExpress.Xpf.Grid.TableView
|
||||
Public Property ColorFuentePersonalizado As Boolean
|
||||
Public Sub New()
|
||||
|
||||
' Esta llamada es exigida por el diseñador.
|
||||
MyBase.New
|
||||
InitializeComponent()
|
||||
AllowFixedColumnMenu = True
|
||||
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
Public Sub New(masterRootNode As MasterNodeContainer, masterRootDataItem As MasterRowsContainer, detailDescriptor As DataControlDetailDescriptor)
|
||||
|
||||
' Esta llamada es exigida por el diseñador.
|
||||
MyBase.New(masterRootNode, masterRootDataItem, detailDescriptor)
|
||||
InitializeComponent()
|
||||
AllowFixedColumnMenu = True
|
||||
|
||||
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function ShadeBrush(ByVal brush As SolidColorBrush) As SolidColorBrush
|
||||
Dim originalColor As Color = brush.Color
|
||||
Dim coefficient As Single = 0.9F
|
||||
Dim a As Byte = originalColor.A
|
||||
If Not Grid.IsKeyboardFocusWithin Then a = CByte((originalColor.A / 2))
|
||||
Dim r As Byte = CByte((originalColor.R * coefficient))
|
||||
Dim g As Byte = CByte((originalColor.G * coefficient))
|
||||
Dim b As Byte = CByte((originalColor.B * coefficient))
|
||||
Return New SolidColorBrush(Color.FromArgb(a, r, g, b))
|
||||
End Function
|
||||
|
||||
Private Sub TableView_CustomRowAppearance(sender As Object, e As CustomRowAppearanceEventArgs)
|
||||
If e.RowSelectionState <> SelectionState.None Then
|
||||
Dim result As Object = e.ConditionalValue
|
||||
|
||||
If e.Property Is TextBlock.ForegroundProperty OrElse e.Property Is TextBlock.BackgroundProperty Then
|
||||
Dim original As SolidColorBrush = TryCast(e.OriginalValue, SolidColorBrush)
|
||||
Dim conditional As SolidColorBrush = TryCast(e.ConditionalValue, SolidColorBrush)
|
||||
If Me.ColorFuentePersonalizado AndAlso e.Property Is TextBlock.ForegroundProperty Then
|
||||
Dim row = Me.Grid.GetRow(e.RowHandle)
|
||||
conditional = TryCast(row.GetType.GetProperty("ColorFuenteFila").GetValue(row), SolidColorBrush)
|
||||
End If
|
||||
If conditional IsNot Nothing AndAlso (original Is Nothing OrElse original.Color <> conditional.Color) Then result = ShadeBrush(conditional)
|
||||
End If
|
||||
e.Result = result
|
||||
e.Handled = True
|
||||
End If
|
||||
End Sub
|
||||
Private Sub tsTableView_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
If ColorFuentePersonalizado Then
|
||||
Me.RowStyle = Me.FindResource("tsRowStyle")
|
||||
Me.CellStyle = Me.FindResource("tsCellStyle")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user