Feedback

C# - Multi- & ValueConverter in einem

Veröffentlicht von am 11.10.2013
(0 Bewertungen)
In WPF kann man Datenbindungen mithilfe von Konvertern anpassen. Dabei wird unter einfachen und Multi-Konvertern unterschieden.
Multi-Konverter können aus mehreren Parametern einen Machen bzw. anders herum.

Nun kann es sein, das man die Funktionalität eines Multi-Konverters auch mit einem Parameter durchführen kann.
(Bsp.: Aktiviere solange mindestens eine TextBox den Fokus hat. Nun hat man aber nur eine Textbox...)

Da die Notation eines Multibindings länger ist, ist es natürlich praktischer einen normalen Konverter zu verwenden (wenn nötig). Dafür braucht man aber keine 2 Klassen.

Diese Klasse ruft für den normalen Konverter die Mutli-Konverter-Methoden auf. Natürlich steht es einem frei den einfachen Konverter frei anzupassen.
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

    public class MyValueConverter : IMultiValueConverter, IValueConverter
    {
        #region IValueConverter Member

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return this.Convert(new object[] { value }, targetType, parameter, culture);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return this.ConvertBack(value, new Type[] { targetType }, parameter, culture)[0];
        }

        #endregion

        #region IMultiValueConverter Member

        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();//Konverter hier einbauen
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();//Zurück-Konverter hier einbauen
        }

        #endregion
    }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!