-1

我正在尝试在 wp7 中显示一个列表视图,但由于某种原因它似乎不起作用

我的 xml

            <!--ContentPanel - place additional content here-->
        <StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0">
            <ListBox x:Name="list">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="5">
                        <Image Source="{Binding ImageUri}" Stretch="None"/>
                        <TextBlock Text="{Binding Text}"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </StackPanel>

    </Grid>

我的 C# 代码

    public class list
{
    public string title { get; set; }
    public string imageSource { get; set; }
}

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        List<list> dataSources = new List<list>();
        dataSources.Add(new list() { title = "Shacharit", imageSource = "Images/shacharit.png" });
        dataSources.Add(new list() { title = "Mincha", imageSource = "Images/mincha.png" });
        dataSources.Add(new list() { title = "Arvit", imageSource = "Images/arvit.png" });
        dataSources.Add(new list() { title = "Birkat HaMazon", imageSource = "Images/shacharit.png" });
        list.ItemsSource = dataSources;
    }

提前致谢

4

2 回答 2

2

试试下面的方法,将图像和文本块的绑定更改为绑定到您当前声明的字符串,您正在尝试绑定到 ImageURI 和 Text,并且它们在您的任何代码中都不存在。

           <!--ContentPanel - place additional content here-->
    <StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0">
        <ListBox x:Name="list" Da>
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Margin="5">
                    <Image Source="{Binding imageSource }" Stretch="None"/>
                    <TextBlock Text="{Binding title}"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </StackPanel>

</Grid>
于 2012-05-03T14:49:47.100 回答
1

为了澄清 Jon D 的答案,您正在后面的代码中创建具有“imagePath”和“title”属性的数据对象

new list() { title = "Shacharit", imageSource = "Images/shacharit.png" };

但试图绑定名为“ImageUri”和“Text”的属性。

在 VS 的输出窗口中,您应该会看到这些绑定错误。

以下 2 行(您在 XAML 中进行绑定的地方)应该为您解决问题......

<Image Source="{Binding imageSource }" Stretch="None"/>
<TextBlock Text="{Binding title}"/>
于 2012-05-03T14:53:43.087 回答