I have a WP8 LongListSelector with the following pattern:
<DataTemplate x:Key="ItemTemplate">
<Grid Margin="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<controls:BlockImageControl
Grid.Column="0"
Width="110"
Height="110"
Background="Transparent" />
<TextBlock x:Name="Name"
Grid.Column="1"
Text="{Binding ScreenName}"
FontSize="{StaticResource PhoneFontSizeLarge}"
FontWeight="Bold"
VerticalAlignment="Center"/>
<CheckBox x:Name="Unblock" Grid.Column="2" VerticalAlignment="Center"
Tap="BlocksList_Tap"
IsChecked="false"
/>
</Grid>
</DataTemplate>
As you can see, at the end of each element of the cell there is a checkbox that allows the user to select several elements. By default, IsChecked is false.
The problem is that LongListSelector seems to cache the Checked state of my checkbox. If I check the very first element, then scroll down, after about 30 or so, I see another element that I did not select. The remaining bindings work. It is as if he was ignoring the IsChecked property in the template. I tried to bind the IsChecked attribute to a property, no luck.
Does anyone know if this is a mistake, and if not, how can I fix this behavior?
Thank!
