Napisałem MultiValueConverter, który sprawdza, czy dana lista zawiera daną wartość i zwraca true, jeśli tak. Używam go do wiązania niestandardowej listy wyboru. Teraz chciałbym napisać metodę ConvertBack, aby po zaznaczeniu pola wyboru oryginalna wartość została wysłana do modelu. Czy istnieje sposób dostępu do wartości w metodzie ConvertBack?WPF: Czy istnieje sposób na uzyskanie oryginalnych wartości w metodzie ConvertBack MultiValueConverter?
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>
uzyskać poprawne wyniki, kiedy jestem wiążące, ale czy istnieje sposób, aby uzyskać związanego id podczas konwersji z powrotem? Chciałem osiągnąć to, że jeśli pole wyboru nie zostanie zaznaczone, wartość zostanie usunięta z listy i jeśli zostanie zaznaczona, wartość zostanie dodana do listy.
Mam podobny problem, w którym jedno z moich powiązań w multibinding jest obiektem z listą obiektów zawierających pole tekstowe. Multibinding jest powiązany z jednym z pól tekstowych na podstawie innej wartości wiązania. Potrzebuję pola tekstowego, aby zmienić tekst obiektu na convertBack, ale wszystko, co mam, to nowa wartość, a nie to, jaki tekst obiektu musi zmienić – JoeSharp