我正在尝试创建一个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成为它所在网格的宽度?
答案 0 :(得分:0)
实际上,您已将 LongListSelector 的 HorizontalAlignment 属性设置为左侧,这就是它发生的原因。所以你已经设置了拉伸这样的..
HorizontalAlignment="Stretch"
我认为它会解决你的问题。