Silverlight 4: изображение в datatemplate не отображается на поверхности дизайна

#silverlight #image #binding #datatemplate #designer

#silverlight #изображение #привязка #datatemplate #дизайнер

Вопрос:

Я пытаюсь привязать источник изображения к строке в listbox с шаблоном данных.

Когда я запускаю приложение, я вижу изображение в браузере, но я не могу видеть его на поверхности дизайна.

Есть идеи?

Я создал образец пользовательского элемента управления с трехстрочной сеткой. В строке 0 я просто помещаю изображение в строку 1, я помещаю изображение в элемент listbox, В строке 2 я помещаю изображение в datatemplate в listbox, привязанном к ресурсу

На поверхности дизайна я вижу изображение в строках 0 и 1, но не в строке 2.

 public class PersonCollection : List<Person>
{
}

public class Person
{
    public string Name { get; set; }
    public string PictureURL { get; set; }
}
  
 <Grid x:Name="LayoutRoot" Background="White">
    <Grid.Resources>
        <mystuff:PersonCollection x:Key="PersonList">
            <mystuff:Person Name="Rick" PictureURL="abc.jpg"/>
            <mystuff:Person Name="Bob" PictureURL="abc.jpg"/>
        </mystuff:PersonCollection>
    </Grid.Resources>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Image Source="abc.jpg"/>
    <ListBox Grid.Row="1">
        <ListBoxItem>
            <StackPanel Orientation="Horizontal">
            <Image Source="abc.jpg"/>                    
            </StackPanel>
        </ListBoxItem>
    </ListBox>
    <ListBox Grid.Row="2" ItemsSource="{StaticResource PersonList}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Image Source="{Binding PictureURL}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>
  

Комментарии:

1. Дизайнер, о котором я говорю, — это среда разработки VS Web Developer Express SP1 IDE, а не blend

Ответ №1:

Просто измените пользователя.Присвоите свойство чему-то другому

Комментарии:

1. Привет, Валид, человек. Проблема не в имени. Проблема связана с pictureurl

Ответ №2:

Как только я определил свойство PictureUrl как ImageSource в классе Person, дизайнер в среде разработки VS IDE показал изображение.

общедоступный класс Person {
общедоступное строковое имя { get; set; }
общедоступный источник изображений PictureURL { get; set; } }

Вот откуда я получил информацию:

http://forums.silverlight.net/forums/p/231544/568130.aspx#568130