xaml:无法使图像绑定工作

时间:2011-12-21 20:15:40

标签: xaml data-binding imagesource

我正在尝试进行一些数据绑定,但我无法显示图像。这就是xaml的样子:

<ListBox Name="tListBox" Margin="0,0,-12,0">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
                <Image Source="{Binding imgUri}" Margin="2" Height="100" Width="100" />
                <!--<Image Source="images/weapons/tmp.png" Height="100" Width="100" />-->
                <StackPanel Width="311">
                    <TextBlock Text="{Binding wName}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" />
                    <TextBlock Text="{Binding price}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

这就是代码隐藏的样子:

public partial class MainPage : PhoneApplicationPage
{
    List<Weapon> tList;
    List<Weapon> cList;
    List<Weapon> eList;

    // Constructor
    public MainPage()
    {
        InitializeComponent();
        loadData();
    }
    public void loadData()
    {
        tList = new List<Weapon>();
        tList.Add(new Weapon
        {
            wName = "Glock 18",
            imageUri = "images/weapons/glock18.png",
            price = "$400"
        });
        tList.Add(new Weapon
        {
            wName = "USP tactical",
            imageUri = "images/weapons/usptactical.png",
            price = "$500",
        });
        tListBox.ItemsSource = tList;
    }
}
public class Weapon
{
    public string wName { get; set; }
    public string imageUri { get; set; }
    public string price { get; set; }
}

运行此功能时,会显示名称和价格,但不显示图像。在xaml中注释掉的那一行有效,任何人都可以纠正我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

发现错误。 imgUri在xaml和imageUri中的代码隐藏 - 不同的变量名称。相当尴尬;)