LongListMultiSelector的项目水平

时间:2013-11-27 13:46:13

标签: xaml windows-phone-8 longlistselector

几个小时后,我试图从WP工具包中更改我的LongListMultiSelector以横向显示其项目,如下面的屏幕截图所示(来自Panorama Sample)。

http://i.imgur.com/HGHPOsq.png

我甚至试图改变它的模板但没有可能的效果。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

检查出来

http://www.geekchamp.com/articles/wp7-longlistselector-in-depth--part2-data-binding-scenarios

最后的代码片段会有所帮助。

<toolkit:LongListSelector.GroupItemsPanel>
   <ItemsPanelTemplate>
      <toolkit:WrapPanel/>
    </ItemsPanelTemplate>
 </toolkit:LongListSelector.GroupItemsPanel>

答案 1 :(得分:0)

确定。我终于做到了。如果有人会遇到同样的问题,那就是我的解决方案。

我总是试图通过代码隐藏来解决WP中的布局问题,但我特意这样做。

我的XAML:

<Grid Margin="10 -30 0 0" Name="GridWithLLMS">
    <toolkit:LongListMultiSelector LayoutMode="Grid"
        ItemsSource="{Binding Items}"
        GridCellSize="255,190"
        toolkit:TiltEffect.IsTiltEnabled="True"
        EnforceIsSelectionEnabled="True"
        Margin="0"
    />
</Grid>

我的代码:

public AddNewTrainingPage()
{
    InitializeComponent();

    SetWidthOfGridWithExercisesDependingOnQuantityOfItems();
    DataContext = App.Db;
}

private void SetWidthOfGridWithExercisesDependingOnQuantityOfItems()
{
    ExercisesListGrid.Width = ((App.Db.Items.Count / 3) + 1) * 270;
}

其中:

  • 3是我想要的行数
  • 255的宽度为1 LongListMultiSelectorItem (+潜在边距宽度)

当然我假设 LongListMultiSelector的项目不会改变。如果要使用动态元素集合,则应将LongListMultiSelector的宽度绑定到属性,并将ViewModel中项目集合的数量