Mam LongListSelector WP8 z następującego wzoru:Dlaczego program WP8 LongListSelector niepoprawnie ponownie korzysta ze sprawdzonego stanu składnika CheckBox?
<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>
Jak widać nie ma wyboru na końcu każdej pozycji komórkowy, który umożliwia użytkownikowi wybrać kilka pozycji. IsChecked jest domyślnie fałszywy.
Problem polega na tym, że program LongListSelector wydaje się buforować stan sprawdzany mojego pola wyboru. Jeśli sprawdzę pierwszy, element, następnie przewijam w dół, po około 30 elementach, widzę inny zaznaczony element, którego nie wybrałem. Reszta wiązań działa. To tak, jakby ignorował właściwość "IsChecked" w szablonie. Próbowałem powiązać atrybut IsChecked z właściwością, bez powodzenia.
Czy ktoś wie, czy jest to błąd, a jeśli nie, w jaki sposób mogę poprawić to zachowanie?
Dzięki!
To było dzięki. Próbowałem już tego wcześniej, ale TwoWay było tajemnicą! – esilver
Jak 'TwoWay' wpływa na ten problem? – Ku6opr