Tengo una lista de AvailableItems
que quiero mostrar como una lista de casillas de verificación, para que los usuarios puedan elegir qué elementos generar, que luego se almacenan en otra lista llamada ItemsToGenerate
(mis listas son en realidad solo listas de cadenas).¿Cuál es la forma más sencilla de vincular una lista de casillas de verificación a una lista de valores comprobados
Mostrando todos los elementos disponibles con casillas de verificación correspondientes es fácil:
<ItemsControl ItemsSource="{Binding Path=AvailableItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Pero ahora necesitan de obligar a cada Checkbox.IsChecked propiedad, al hecho de que el artículo esté en la lista ItemsToGenerate
. Pensé en hacer una ListContainmentToBoolConverter
así:
IsChecked="{Binding Path=ItemsToGenerate,
Converter={StaticResource ListContainmentToBoolConverter}}"
Pero eso no funciona porque me falta un ConverterParameter
para pasar el valor de cada elemento, pero no puedo hacer eso, porque no es compatible con ConverterParameter
Unión.
¿Alguna idea?
Me gustaría ver la implementación de su propiedad adjunta. Lamentablemente, esto solo funciona si reutiliza la selección de ListBox, pero ¿qué ocurre si utiliza un control de elementos con una casilla dentro de la plantilla? – jpierson
Intenté esto y el resultado final es un poco funky (http://i.imgur.com/ZRyrjfe.png). Me voy a quedar con un ListBox simple, personalmente. – Chris