Ich habe einen MultiValueConverter geschrieben, der prüft, ob eine gegebene Liste einen gegebenen Wert enthält und true zurückgibt, wenn dies der Fall ist. Ich verwende es zum Binden an benutzerdefinierte Checkbox-Liste. Jetzt möchte ich ConvertBack-Methode schreiben, so dass, wenn das Kontrollkästchen aktiviert war, der ursprüngliche Wert an das Modell gesendet würde. Gibt es eine Möglichkeit, auf Werte in der ConvertBack-Methode zuzugreifen?WPF: Gibt es eine Möglichkeit, Originalwerte in ConvertBack-Methode von MultiValueConverter zu erhalten?
XAML:
<ListBox.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding Path=Description}">
<CheckBox.IsChecked>
<MultiBinding Converter="{x:Static Classes:ListContainsMultiConverter.Instance}">
<Binding Path="Id" />
<Binding Path="DataContext.ContactTypes" RelativeSource="{RelativeSource AncestorType={x:Type Window}}" />
</MultiBinding>
</CheckBox.IsChecked>
</CheckBox>
</HierarchicalDataTemplate>
</ListBox.ItemTemplate>
ich korrekte Ergebnisse erhalten, wenn ich verbindlich, aber ist es eine Möglichkeit, um das gebundene ID zu erhalten, wenn die Umwandlung zurück? Was ich erreichen möchte, ist, dass, wenn das Kontrollkästchen deaktiviert ist, der Wert aus der Liste entfernt wird, und wenn er aktiviert ist, wird der Wert zur Liste hinzugefügt.
Ich habe ein ähnliches Problem, wo eine meiner Bindungen in der Multibinderei ist ein Objekt mit einer Liste von Objekten, die ein Textfeld enthalten. Das Multibinding ist an einen der Textfelder gebunden, basierend auf dem anderen Bindungswert. Ich brauche das Textfeld, um den Text des Objekts auf convertBack zu ändern, aber alles, was ich habe, ist der neue Wert, und nicht was der Text des Objekts ändern muss – JoeSharp