开发者

WP7 image binding

I have a Windows phone 7 application which contains a listbox. I want, for each item in the listbox to have a particular image.

<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 Orienta开发者_Go百科tion="Vertical">
                            <HyperlinkButton Content="{Binding Cathegory, Mode=OneWay}" NavigateUri="" HorizontalAlignment="Right">
                            </HyperlinkButton>
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

And the property binded to the Source property of the Image control is an Uri. My problem is that the image is not shown in the listbox. I have tried using a string instead of the Uri but I get the same issue.

I kindly appreciate any help :).


This should work:

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>


Check out this other SO answer, I believe it contains the answer to your question:
Image UriSource and Data Binding

But the basics of it is that you need to convert your URI/string to a BitmapImage (either via viewmodel property, or converter)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜