Universal Windows Platform - BooleanToVisibilityConverter
Bonjour à tous,
J'aimerais effectuer une action sur un de mes contrôles.
Dans un ListView je gère plusieurs listviewitem qui possèdent tous les éléments suivants :
TextBlock| TextBlock | TextBlock | TextBlock |TextBlock | CheckBox | Button
J'aimerais gérer l'attribut Visibility du premier TextBlock en fonction de l'état check ou unCheck du contrôle CheckBox
Après quelques recherches je constate qu'il existe une façon de faire avec un BooleanToVisibilityConverter
Seulement il semblerait que ce ne soit pas utilisable avec la plateforme Windows unverselle
Je continue donc mes recherches et je tombe sur ce site :https://pmdevweb.wordpress.com/2016/...to-visibility/
J'essaye de mettre en place sa solution le code c# de la solution est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class BooleanToVisibilityConverter : IValueConverter
{
public BooleanToVisibilityConverter()
{
}
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value is bool && (bool) value)
{
return Visibility.Visible;
}
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return (value is Visibility && (Visibility)value == Visibility.Visible);
}
} |
Je travaille sous VB donc j'entreprend de le traduire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Public Class BooleanToVisibilityConverter
Implements IValueConverter
Public Sub New()
End Sub
Public Function Convert(value As Object, targetType As Type, parameter As Object, language As String) As Object
If TypeOf value Is Boolean AndAlso CBool(value) Then
Return Visibility.Visible
End If
Return Visibility.Collapsed
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, language As String) As Object
Return (TypeOf value Is Visibility AndAlso DirectCast(value, Visibility) = Visibility.Visible)
End Function
End Class |
Si je tapde ce code VB tel quel j'ai une erreur sur IValueConverter qui me dit que je dois implementer des interfaces :
Code:
1 2 3 4 5 6 7
| Private Function IValueConverter_Convert(value As Object, targetType As Type, parameter As Object, language As String) As Object Implements IValueConverter.Convert
Throw New NotImplementedException()
End Function
Private Function IValueConverter_ConvertBack(value As Object, targetType As Type, parameter As Object, language As String) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function |
Je lance l'appli et là justement j'ai une erreur sur ces deux interfaces.
Je ne comprend pas l'erreur
Citation:
Une exception de type 'System.NotImplementedException' s'est produite dans mesCoursUWP.exe mais n'a pas été gérée dans le code utilisateur
Pourriez vous m'aiguiller sur la bonne route je vous prie ?
Merci par avance
Cordialement