Tôi có một LongListSelector WP8 với mẫu sau:Tại sao WP8 LongListSelector không chính xác tái sử dụng Kiểm tra trạng thái 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>
Như bạn có thể thấy có một hộp kiểm ở phần cuối của từng hạng mục di động, cho phép người dùng lựa chọn nhiều mục. IsChecked là false theo mặc định.
Vấn đề là LongListSelector dường như đang lưu vào bộ nhớ cache trạng thái Đã kiểm tra của hộp kiểm của tôi. Nếu tôi kiểm tra đầu tiên, mục, sau đó di chuyển xuống một phần, sau khoảng 30 mục hoặc hơn, tôi thấy một mục khác được kiểm tra mà tôi không chọn. Phần còn lại của các ràng buộc làm việc. Nó giống như là nó bỏ qua thuộc tính "IsChecked" trong khuôn mẫu. Tôi đã thử ràng buộc thuộc tính IsChecked vào một thuộc tính, không may mắn.
Có ai biết nếu đây là lỗi không, và nếu không, làm cách nào tôi có thể khắc phục hành vi này?
Cảm ơn!
Đó là cảm ơn. Tôi đã thử điều này trước đây nhưng TwoWay là bí mật! – esilver
Cách 'TwoWay' ảnh hưởng đến vấn đề này? – Ku6opr