0

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>

しかし、アイテムを追加しても幅は変わりません。しかし、ロングリストセレクターに幅を設定すると、アイテムがそこに表示されます。

アイテムのリストは観察可能なコレクションです

        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 をグリッドの幅にするにはどうすればよいでしょうか。

4

1 に答える 1

0

実際には、 LongListSelector のHorizo​​ntalAlignmentプロパティを左に設定しているため、それが起こっています。だからあなたはこのようにストレッチを設定しました..

HorizontalAlignment="Stretch"

私はそれがあなたの問題を解決すると思います。

于 2013-08-29T11:44:01.160 に答える