I have a checkbox in my ListView. and the property "IsSelected" binded to the checkbox which is in the Assignment model.
The IsSelected property is triggering when I click on the checkbox. But "ObservableCollection ListActivities" is not triggering which is ViewModel when checkbox clicked.
How ObservableCollection ListActivities will trigger when clicks on the checkbox.
Please Help me.
Model:
public class Assignment : NotifyPropertyChanged
{
[JsonIgnore]
private bool _isSelected;
public bool IsSelected
{
get => _isSelected;
set
{
_isSelected = value;
RaisePropertyChanged(nameof(IsSelected));
}
}
}
ViewModel:
private ObservableCollection<Assignment> _listActivities;
public ObservableCollection<Assignment> ListActivities
{
get => _listActivities;
set
{
RaiseAndSetIfChanged(ref _listActivities, value);
RaisePropertyChanged(nameof(ListActivities));
}
}
XAML:
<ListView x:Name="ClusteredActivities"
ItemsSource="{Binding ListActivities, Mode=TwoWay}"
Margin="20"
SeparatorVisibility="None"
HorizontalOptions="Center">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="0">
<CheckBox
HorizontalOptions="Start"
VerticalOptions="Center"
Color="Black"
IsChecked="{Binding IsSelected, Mode=TwoWay}">
</CheckBox>
<Label Style="{DynamicResource ItalicLabel}">
<Label.FormattedText>
<FormattedString>
<FormattedString.Spans>
<Span Text="{Binding ParentIncident.ErpSrNumber}" />
<Span Text=", " />
<Span Text="{Binding ActivityId}" />
<Span Text=", " />
<Span Text="{Binding ActivityType}"/>
</FormattedString.Spans>
</FormattedString>
</Label.FormattedText>
</Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>