私は、次のテンプレートを使用してWP8 LongListSelectorを持っている:あなたは複数の項目を選択するためにユーザを可能にする、各セルの項目の最後にチェックボックスがある見ることができるようにWP8 LongListSelectorがCheckBoxのChecked状態を間違って再利用するのはなぜですか?
<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>
。 IsCheckedはデフォルトではfalseです。
問題は、LongListSelectorが自分のチェックボックスのChecked状態をキャッシュしているように見えることです。私が最初のアイテムをチェックしてから途中までスクロールすると、約30ほどのアイテムの後に、私が選択しなかったアイテムがチェックされています。残りのバインディングは機能します。テンプレートの "IsChecked"プロパティを無視しているかのようです。 IsChecked属性をプロパティにバインドしようとしましたが、不運です。
これがバグかどうかは誰にも分かりますが、そうでない場合はどのように修正できますか?
ありがとうございます!
おかげさまでした。私は前にこれを試したが、TwoWayは秘密だった! – esilver
'TwoWay'がこの問題にどのように影響しますか? – Ku6opr