【问题标题】:WPF DataGridTemplateColumn Checkbox element IsChecked with Converter TwoWay bindingWPF DataGridTemplateColumn Checkbox 元素 IsChecked 与 Converter TwoWay 绑定
【发布时间】: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”?

提前致谢

【问题讨论】:

    标签: wpf vb.net xaml object


    【解决方案1】:

    将 IsChecked-Binding 上的 UpdateSourceTrigger 设置为 PropertyChanged,应该这样做。

    【讨论】:

    • 这就是问题所在!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 2013-04-12
    • 2016-04-26
    • 1970-01-01
    • 2017-11-22
    • 2011-01-25
    • 1970-01-01
    相关资源
    最近更新 更多