xaml:Can';无法使图像绑定工作

xaml:Can';无法使图像绑定工作,xaml,data-binding,imagesource,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 S

我正试着做一些数据绑定,但我无法让图像显示出来。这就是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; }
}

这就是代码隐藏的样子:

<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; }
}
public部分类主页:PhoneApplicationPage
{
名单;
列表cList;
列表列表;
//建造师
公共主页()
{
初始化组件();
loadData();
}
公共void loadData()
{
tList=新列表();
添加(新武器)
{
wName=“Glock 18”,
imageUri=“images/wearms/glock18.png”,
价格=“400美元”
});
添加(新武器)
{
wName=“USP战术”,
imageUri=“images/wearms/usptractical.png”,
price=“$500”,
});
tListBox.ItemsSource=tList;
}
}
公营武器
{
公共字符串wName{get;set;}
公共字符串imageUri{get;set;}
公共字符串price{get;set;}
}

运行此命令时,会显示名称和价格,但不会显示图像。xaml中被注释掉的那一行是有效的,有人能纠正我做错了什么吗?

发现了错误。xaml中的imgUri和codebehind中的imageUri-不同的变量名。相当尴尬;)

发现了错误。xaml中的imgUri和codebehind中的imageUri-不同的变量名。相当尴尬;)