im Moment habe ich derzeit eine Sammlung von Benutzern. Ich verwende die Sammlung, um mein ItemsControl mit einem Datamaplate aus Checkboxen zu füllen. Ich bevölkere das erste Element mit einem Select AllBenachrichtigung über Eigentumsänderung eines Artikels innerhalb einer Sammlung
Analysts.Add(new UserDTO
{
Id = 0,
Name = "Select All",
IsSelected = true
});
Ich frage mich, wie erstelle ich die Veranstaltung, so dass, wenn eine der Kontrollkästchen aktiviert wird, wird ein Ereignis ausgelöst wird. Ich habe versucht, Analysts.CollectionChanged += Analysts_CollectionChanged;
setzen, aber das würde nicht wirklich Feuer, wenn die Sammlung buchstäblich geändert wird, nicht die Elementeigenschaften.
UsersDTO.cs
public int Id {get; set;}
private string _name;
public string Name
{
get { return _name; }
set {_name = value; OnPropertyChanged("Name");}
}
private bool _isSelected;
public bool IsSelected
{
get { return _isSelected; }
set { _isSelected = value; OnPropertyChanged("IsSelected"); }
}
DismissAppointmentView
<ItemsControl Grid.Column="1" Grid.Row="1" ItemsSource="{Binding Analysts, UpdateSourceTrigger=PropertyChanged}" IsTabStop="False">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<telerik:RadUniformGrid Rows="2"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox telerik:StyleManager.Theme="Windows8" Margin="3 3 12 3" Content="{Binding Name}" IsChecked="{Binding IsSelected, Mode=TwoWay}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Vielen Dank für die Lösung – Master