的问题是,你应该在数据网格添加一个处理程序每一行。他们是3个简单的步骤。
拳的结果,通知比可以绑定所有行或单个控制在排:
这是我的转换器:
Public Class BooleanDateConverter
Implements System.Windows.Data.IValueConverter
Public Function Convert(ByVal value As Object,
ByVal targetType As System.Type,
ByVal parameter As Object,
ByVal culture As System.Globalization.CultureInfo) _
As Object Implements System.Windows.Data.IValueConverter.Convert
If DirectCast(value, Boolean) Then
Return New System.Windows.Media.SolidColorBrush(
System.Windows.Media.Color.FromArgb(170, 102, 255, 245))
Else
Return New System.Windows.Media.SolidColorBrush(
System.Windows.Media.Color.FromArgb(170, 255, 0, 0))
End If
End Function
Public Function ConvertBack(ByVal value As Object,
ByVal targetType As System.Type,
ByVal parameter As Object,
ByVal culture As System.Globalization.CultureInfo) _
As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Return Nothing
End Function
End Class
- 步骤2和3。绑定的DataGrid和DataGrid行:在InitializeDataWorkspace
绑定数据网格:
Private Sub Conversio_CategoriaPDI_a_ElementDeCosts_InitializeDataWorkspace(
saveChangesTo As System.Collections.Generic.List(
Of Microsoft.LightSwitch.IDataService))
AddHandler Me.FindControl(
"TConversio_CategoriaPDI_a_ElementDeCosts"
).ControlAvailable, AddressOf bindejarDataGrid
End Sub
这是数据网格的处理程序。结合everyrow内部功能:
Private Sub bindejarDataGrid(
sender As Object,
e As Microsoft.LightSwitch.Presentation.ControlAvailableEventArgs)
AddHandler DirectCast(e.Control, Windows.Controls.DataGrid
).LoadingRow, AddressOf bindejar
End Sub
结合一些控制行的每一行:
Private Sub bindejar(sender As Object,
e As Windows.Controls.DataGridRowEventArgs)
Dim b As Windows.Data.Binding = New Windows.Data.Binding("parametritzat")
b.Mode = Windows.Data.BindingMode.OneTime
b.Converter = New BooleanDateConverter
b.ValidatesOnExceptions = True
e.Row.SetBinding(System.Windows.Controls.Label.BackgroundProperty, b)
End Sub
感谢:
你是否将此添加到屏幕代码?你的财产是在那个屏幕上的本地? – TsSkTo
我将此添加到屏幕代码。该属性位于数据源中,但也显示在该屏幕上。 –
我做了类似的事情,但在xaml中绑定了我的控件。如果将此代码添加到屏幕中,则您的实体应显示在屏幕数据上下文中。 xaml中的'this.customers.FirstName'或'this.CreatedScreenProperty'这些属性的路径前面是“屏幕”,比如'{Binding Path =“Screen.MyProperty Mode =”TwoWay}“ – TsSkTo