Search code examples
wpfclassbindingdependency-propertiescode-behind

Bind to my class with INotifyPropertyChanged


I am sorry if this question is double somewhere, I've searched but did not find.

I have created my own class.

    Public Class MyListService
        Implements INotifyPropertyChanged
        Public Event PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

        Private Sub OnPropertyChanged(ByVal Title As String)
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(Title))
        End Sub

        Private _IsLoggedIn As Boolean = False
    Public Property IsLoggedIn As Boolean
        Get
            Return _IsLoggedIn
        End Get
        Set(value As Boolean)
            If _IsLoggedIn <> value Then
                _IsLoggedIn = value
                Call OnPropertyChanged("IsLoggedIn")
            End If
        End Set
    End Property

End Class

In WPF project, I have in codebehind

Private WithEvents cWebService As new MyListService

In XAML:

<CheckBox IsChecked="{Binding IsLoggedIn}" x:Name="chkIsLoggedIn" />

Please can you tell me how to bind that "IsLoggedIn" property now to the Checkbox?

Regards


Solution

  • I have absolutely no VB experience but I've used WPF with C#.

    Here is my guess: you need to set DataContext of your CheckBox to point to the MyListService instance for the binding to work since the binding systems needs to know which object the IsLoggedIn property belongs to.