将列表框项目模板绑定到变量

时间:2016-08-11 13:45:26

标签: c# wpf xaml listbox

所以我用这个C#代码将项目输入列表框:

     void GetItems() {
     VideoListBox.ItemsSource = from list1 in xmlfeedresult.Descendants("video")
                                   select new VideoItem
                                   {
                                       Username = list1.Element("u").Value,
                                       Thumbnail = list1.Element("i").Value,
                                       Description = list1.Element("d").Value
                                   };

    }

    public class VideoItem
    {
        public string Username;
        public string Thumbnail;
        public string Description;
    }

这是使用的XAML代码

<ListBox Height="588" Margin="272,101,272,0" Name="VideoListBox" VerticalAlignment="Top">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" Height="132">
                    <Image Source="{Binding Thumbnail }" Height="300" Width="500" VerticalAlignment="Top" Margin="0,10,8,0"/>
                    <StackPanel Width="370">
                        <TextBlock Text="{Binding Username}" Foreground="#FFC8AB14" FontSize="28" />
                        <TextBlock Text="{Binding Description}" TextWrapping="Wrap" FontSize="24" />
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

问题是它在列表框中生成了三个项目,但是用户名,缩略图和描述中的值都没有显示出来。它只有三个完全黑色的物品。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您的值应该是公开的属性,而不仅仅是字段。

public class VideoItem
{
    public string Username {get; set;}
    public string Thumbnail {get; set;}
    public string Description {get; set;}
}