He escrito un MultiValueConverter que comprueba si una lista determinada contiene un valor determinado y devuelve verdadero si lo hace. Lo uso para enlazar a la lista de casillas personalizadas. Ahora me gustaría escribir el método ConvertBack para que, si la casilla de verificación estuviera marcada, el valor original se envíe al modelo. ¿Hay alguna manera de acceder a los valores en el método ConvertBack?WPF: ¿Hay alguna forma de obtener valores originales en el método ConvertBack de 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>
consigo resultados correctos cuando estoy vinculante, pero hay una manera de obtener el ID enlazado al convertir de vuelta? Lo que me gustaría lograr es que si la casilla de verificación está desmarcada, el valor se eliminará de la lista y, si está marcada, el valor se agregará a la lista.
tengo un problema similar donde uno de mis enlaces en el multibinding es un objeto con una lista de objetos que contienen un campo de texto. el multibinding está ligado a una de las cajas de texto basadas en el otro valor de enlace. Necesito el cuadro de texto para cambiar el texto del objeto en convertBack, pero todo lo que tengo es el nuevo valor, y no el texto del objeto que necesita cambiar – JoeSharp