WP7 привязка изображений - PullRequest
1 голос
/ 29 декабря 2010

У меня есть приложение для 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>

И свойство, связанное со свойством Source элемента управления Image, является Uri. Моя проблема в том, что изображение не отображается в списке. Я попытался использовать строку вместо Uri, но у меня возникла та же проблема.

Буду признателен за любую помощь:).

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Это должно работать:

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>
0 голосов
/ 29 декабря 2010

Проверьте этот другой SO-ответ, я думаю, что он содержит ответ на ваш вопрос:
Image UriSource и привязка данных

Но основы этого в том, что вам нужнопреобразовать ваш URI / строку в BitmapImage (либо через свойство viewmodel, либо конвертер)

...