网格中的长选择器宽度

时间:2013-08-29 11:12:38

标签: windows-phone-8 longlistselector

我正在尝试创建一个wp8应用程序,但我正在努力使用longlistselector。

我的列表位于网格中,我希望看到该列表与网格具有相同的宽度,但我不想使用硬编码宽度。

这是我的代码:

                     

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0">
        <phone:LongListSelector Margin="0,0,0,0" 
                                x:Name="GetSubject" 
                                HorizontalContentAlignment="Stretch" 
                                IsGroupingEnabled="False" 
                                SelectionChanged="LongListSelector_SelectionChanged_1" 
                                VerticalAlignment="Top" 
                                HorizontalAlignment="Left" >
            <phone:LongListSelector.ItemTemplate>
                <DataTemplate>                        
                     <TextBlock Text="{Binding Name}" /> 
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>
    </Grid>

但是当我添加项目时,宽度不会改变。但是当我给longlistselector一个设定的宽度时,项目就在那里。

带有项目的列表是一个observablecollection

        var folder = ApplicationData.Current.LocalFolder;
        var files = await folder.GetItemsAsync();
        ObservableCollection<ListSubject> subs = new ObservableCollection<ListSubject>();

        subs.Add(new ListSubject("Foo"));
        subs.Add(new ListSubject("Bar"));



        foreach (var f in files)
        {

            if (f.IsOfType(StorageItemTypes.File) && f.Name.EndsWith(".subj"))
            {
                subs.Add(new ListSubject(f.Name.Remove(f.Name.Length - 5)));
            }

        }

        this.GetSubject.ItemsSource = subs;

那么如何让longselectorlist成为它所在网格的宽度?

1 个答案:

答案 0 :(得分:0)

实际上,您已将 LongListSelector Horizo​​ntalAlignment 属性设置为左侧,这就是它发生的原因。所以你已经设置了拉伸这样的..

HorizontalAlignment="Stretch"

我认为它会解决你的问题。