WP7图像绑定

时间:2010-12-29 12:04:38

标签: image binding windows-phone-7

我有一个Windows Phone 7应用程序,其中包含一个列表框。我希望列表框中的每个项目都有特定的图像。

<ListBox Height="606" HorizontalAlignment="Left" ScrollViewer.VerticalScrollBarVisibility="Visible"
                 Margin="20,20,0,0" 
                 Name="listBox1" VerticalAlignment="Top" Width="414" ItemsSource="{Binding SubList, Mode=OneWay}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Height="50" Width="50" 
                               VerticalAlignment="Top" Margin="0,10,8,0" Source="{Binding Image, Mode = OneWay}"/>
                        <StackPanel Orientation="Vertical">
                            <HyperlinkButton Content="{Binding Cathegory, Mode=OneWay}" NavigateUri="" HorizontalAlignment="Right">
                            </HyperlinkButton>
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

绑定到Image控件的Source属性的属性是Uri。 我的问题是图像没有显示在列表框中。 我尝试过使用字符串代替Uri,但我遇到了同样的问题。

我非常感谢任何帮助:)。

2 个答案:

答案 0 :(得分:1)

这应该有效:

public class Item
{
    public int Number { get; set; }

    public Uri ImageUri { get; set; }

    public Item(int number, Uri imageUri)
    {
        Number = number;
        ImageUri = imageUri;
    }
}
And the datatemplate:


<ListBox x:Name="Items">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Number}"></TextBlock>
                <Image Source="{Binding ImageUri}"></Image>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

答案 1 :(得分:0)

查看其他SO答案,我相信它包含您的问题的答案:
Image UriSource and Data Binding

但它的基础是你需要将你的URI /字符串转换为BitmapImage(通过viewmodel属性或转换器)