Hallo Forum,
ich programmiere nicht mehr regelmäßig - zu viel anderen Quuatsch zu tun. Daher stehe ich jetzt aktuell etwas verloren da.
Ich möchte eine Liste aus Bool an Checkboxen binden und über einen IValueConverter die einzelnen indizees der Liste manipulieren.
So die Idee.
Das Problem liegt für mich im ConvertBack des Converters, denn dieser gibt mir nicht die Liste der Bool, sondern nur den aktuellen Zustand des gerade manipulierten bool.
Hoffe Ihr versteht.
Das Problem ist an sich gelöst, aber unschön wie ich finde.
Es geht nur wenn ich mir die Liste als Static im Converter merke.
Wegen der Volständigkeit noch das XAML dazu
Vielleicht hat jemand eine Idee.
Gruss
mikeb69
CodeTags korrigiert ~VaporiZed
ich programmiere nicht mehr regelmäßig - zu viel anderen Quuatsch zu tun. Daher stehe ich jetzt aktuell etwas verloren da.
Ich möchte eine Liste aus Bool an Checkboxen binden und über einen IValueConverter die einzelnen indizees der Liste manipulieren.
So die Idee.
Das Problem liegt für mich im ConvertBack des Converters, denn dieser gibt mir nicht die Liste der Bool, sondern nur den aktuellen Zustand des gerade manipulierten bool.
Hoffe Ihr versteht.
Das Problem ist an sich gelöst, aber unschön wie ich finde.
Es geht nur wenn ich mir die Liste als Static im Converter merke.
C#-Quellcode
- public class IndexOfArrayToValueConverter : IValueConverter
- {
- private static List<bool> staticListOfBool;
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- int par = int.Parse((string)parameter);
- List<bool> list = (List<bool>)value;
- staticListOfBool = list;
- return list[par -1];
- }
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- int par = int.Parse((string)parameter);
- bool val = (bool)value;
- staticListOfBool[par - 1] = val;
- return staticListOfBool;
- }
- }
Wegen der Volständigkeit noch das XAML dazu
XML-Quellcode
- <CheckBox x:Name="Protocol_1" Content="1 - Product detection" IsChecked="{Binding ProtokollSelected, Mode=TwoWay, Converter={StaticResource IndexOfArrayToValueConverter}, ConverterParameter=1}"/>
- <CheckBox x:Name="Protocol_2" Content="2 - New barcode" IsChecked="{Binding ProtokollSelected, Converter={StaticResource IndexOfArrayToValueConverter}, ConverterParameter=2}"/>
- <CheckBox x:Name="Protocol_5" Content="5 - New product weight" IsChecked="{Binding ProtokollSelected, Converter={StaticResource IndexOfArrayToValueConverter}, ConverterParameter=5}"/>
- <CheckBox x:Name="Protocol_6" Content="6 - New Product volume" IsChecked="{Binding ProtokollSelected, Converter={StaticResource IndexOfArrayToValueConverter}, ConverterParameter=6}"/>
Vielleicht hat jemand eine Idee.
Gruss
mikeb69
CodeTags korrigiert ~VaporiZed
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()