#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