WPF DataGridTemplateColumn Элемент флажка IsChecked с привязкой конвертера TwoWay - PullRequest
2 голосов
/ 28 апреля 2011

У меня есть столбец 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

Конечный класс

Мой ресурс - это список (атрибутов), атрибут:

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"?

Заранее спасибо

1 Ответ

1 голос
/ 28 апреля 2011

Установите UpdateSourceTrigger на IsChecked-Binding равным PropertyChanged, что должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...