我正在尝试制作一个 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 一个设定的宽度时,项目就在那里。
包含项目的列表是一个可观察的集合
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 成为它所在的网格的宽度呢?