2

データバインディングをしようとしていますが、画像を表示できません。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 でコメントアウトされている行は動作します。誰かが私が間違っていることを修正してもらえますか?

4

1 に答える 1

0

間違いを見つけました。xaml の imgUri とコード ビハインドの imageUri - 異なる変数名。かなり恥ずかしい;)

于 2011-12-22T20:35:44.113 に答える