【发布时间】:2011-04-29 03:49:43
【问题描述】:
我有一个包含复选框的 DatagridTemplate 列,当我的 ItemSource 上的属性为“J”时,通过转换器检查该复选框,而当属性为“N”时未选中。
这可行,但现在我希望在我选择复选框时将属性设置为“J”,或者在取消选择时将属性设置为“N”。
我的专栏:
<local:JNConverter x:Key="JNConverter" />
<DataGridTemplateColumn Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" HorizontalAlignment="Center">
<CheckBox Name="auto" HorizontalAlignment="center" IsChecked="{Binding Path=Autonummering, Converter={StaticResource JNConverter}, Mode=TwoWay}" />
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我的转换器:
公共类 JNConverter 实现 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 value IsNot Nothing AndAlso value.ToString.ToLower = "j" Then
Return True
Else
Return False
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
If CType(value, Boolean) Then
Return "J"
Else
Return "N"
End If
End Function
结束类
我的 Itemsource 是一个 List(Of Attribuut),Attribuut:
Public Class Attribuut
Inherits DependencyObject
Public Shared AutonummeringProperty As DependencyProperty = DependencyProperty.Register("Autonummering", GetType(String), GetType(Attribuut))
Public Property Autonummering As String
End Class
那么我将如何“反向”绑定单击复选框以将 Autonummering 属性更改为“J”或“N”?
提前致谢
【问题讨论】: