XAML SampleData绑定到字符串列表的值

时间:2014-01-13 01:43:44

标签: c# wpf xaml data-binding windows-phone-8

好的,所以我搜索,搜索和搜索,我无法找到问题的这个特定角度的答案。我知道如何绑定到List,以及如何通过使它成为ObservableCollection而不是List来使其自动更新。但是,只有一个字符串列表,我如何绑定到每个List元素的值?

    <DataTemplate x:Key="PageTiles">
        <Grid Background="{StaticResource PhoneAccentBrush}"
              Margin="6,0,6,12">
            <StackPanel VerticalAlignment="Bottom">
                <TextBlock Text="{Binding}"
                           Margin="6,0,0,6" />
            </StackPanel>
        </Grid>
    </DataTemplate>

这是从列表中提取的LongListSelector:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" VerticalAlignment="Top" Height="60">
        <phone:LongListSelector Margin="0,0,-12,0"
                                ItemsSource="{Binding PageTitles}"
                                LayoutMode="Grid"
                                GridCellSize="150,150"
                                ItemTemplate="{StaticResource PageTiles}"
                                SelectionChanged="LongListSelector_SelectionChanged">
        </phone:LongListSelector>
    </Grid>

现在,我之前使用过类似的布局来根据具有字符串属性的类列表来执行切片,但是从不使用字符串列表,我找不到任何指导我正确方向的东西。

1 个答案:

答案 0 :(得分:1)

事实证明@ har07是对的。 Text="{Binding}"我输入的文本值是有效的,我的单元格大小太大了,无法在我制作的60高格中显示。将它的高度降低到小于堆叠面板的高度和bam,就在那里。我甚至没有故意这样做,这就是我离开它的方式,而我不知道该放什么,因为我没有重新编译以修复关联,它没有找到任何东西作为元素投入。

因此,回顾一下,要直接获取List的值而不是该值的一部分,一个简单的“{Binding}”就可以了。获得的经验教训:在运行帮助XD之前仔细检查您的尺寸值。