目前我有一個水平包裝的ListBox,但我想將其切換到LongListSelector。除此之外,其原因可能是填充了很多項目,原因是在使用ListBox時,與項目的包裝方式不一致。我希望看到三列,在視圖中顯示項目時需要多行,但根據項目的寬度,使用列表框可以是兩個或三個。該項目包含一個圖像和下面的文本,並且文本(當比圖像更寬時)導致列表中的項目以非均勻的方式包裝。如何將ListBox轉換爲LongListSelector
什麼我目前是
<ListBox Name="ListBoxEffects" SelectionMode="Single" ItemsSource="{Binding}" Margin="{Binding}"
toolkit:TiltEffect.IsTiltEnabled="True" SelectionChanged="ListBox_SelectionChanged" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel ItemWidth="Auto" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Margin="12,0,0,24" >
<Image Source="{Binding Thumbnail}" Width="128" Height="128" />
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeNormal}" VerticalAlignment="Center" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
而我試圖做到的是
<phone:LongListSelector Name="ListBoxEffects" Margin="{Binding}"
toolkit:TiltEffect.IsTiltEnabled="True"
LayoutMode="Grid" GridCellSize="128,128"
SelectionChanged="ListBox_SelectionChanged" >
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Margin="12,0,0,24" >
<Image Source="{Binding Thumbnail}" Width="128" Height="128" />
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeNormal}" VerticalAlignment="Center" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
我可以改變原來的<toolkit:WrapPanel ItemWidth="Auto" />
到指定的寬度,但我相信,從長遠在動態添加幾個項目的情況下運行,LongListSelector將是更好的選擇。截至目前,沒有任何錯誤,但沒有任何顯示。
嘿,你有沒有解決你的問題的方法,因爲我也面臨同樣的問題。 – shubhi1910