Je veux avoir une liste de cases à cocher qui se lient à une collection. Ainsi, lorsque les options sont sélectionnées, elles sont ajoutées à la liste --- lorsque les options sont désélectionnées, elles sont supprimées.Comment lier un enum ItemsControl à une collection dans WPF?
J'ai essayé un certain nombre d'approches, mais je n'ai pas réussi à résoudre ce problème.
Modèle
public enum WeatherType
{
Rainy,
Sunny,
Cloudy,
Windy
}
ViewModel
public class WeatherViewModel : INotifyPropertyChanged
{
public ObservableCollection<WeatherType> WeatherTypes {get;set;}
...
}
XAML
<ObjectDataProvider x:Key="weather"
MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="business:WeatherType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
...
<ItemsControl Grid.Row="4"
Grid.Column="1"
ItemsSource="{Binding Source={StaticResource weather}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>