パノラマコントロールを使用しています。各PanoramaItemの中に、ListBoxがあります。ListBoxは一連のTextBlockを保持します。その理由は、私が非常に長いテキストを表示しているためであり、別の投稿から、長いテキストを表示するときにwp7に制限があることがわかりました。
たとえば、次のように定義された2つのオブジェクトがあります。
public class TextItem {
public string Text { get; set; }
}
public class DisplayItem {
public string Header { get; set; }
public string FullHeader { get; set; }
public List<TextItem> TextItems { get; set; }
}
List<DisplayItem>にバインドするxamlは次のとおりです。
<controls:Panorama ItemsSource="{Binding}">
<controls:Panorama.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}" TextWrapping="Wrap"/>
</DataTemplate>
</controls:Panorama.HeaderTemplate>
<controls:Panorama.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding FullHeader}" TextWrapping="Wrap"/>
<ListBox ItemsSource="{Binding TextItems}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</StackPanel>
</DataTemplate>
</controls:Panorama.ItemTemplate>
</controls:Panorama>
すべてのデータは適切にバインドされますが、リストボックスをスクロールしようとすると、一番下まで移動せずに停止します。その効果は、「スクロールが機能しない」と「テキストが切り捨てられる」ということです。
私が間違っていることについて何か考えはありますか?
補足として、非常に長いテキストの表示に関する質問も投稿しました(つまり、エンドユーザー使用許諾契約EULA)。ユーザーは、非常に長いテキストを表示するために作成したコントロールへのリンクを私に提供することで応答しました。投稿は、SilverlightTextBlockが保持できる文字数です。。そのコントロールやアプローチを使用して長いテキストを保存すると、同じ効果が得られます。