WPF Listbox Изображение обязательный вопрос (снова)! - PullRequest
1 голос
/ 16 апреля 2009

Это убивает меня, я не могу получить изображение для отображения в виде списка: вот мой код:

WPF:

 // listbox called lstWidgets
<ListBox.ItemTemplate>
 <DataTemplate>
    <StackPanel>
      <TextBlock Name="txtTitle" Margin="2,5,5,2" Text="{Binding name}" />
      <Image Name="imgDisp"  Source="{Binding img}" Width="50" Height="50"/>
   .....       

C #:

Class widget / props: string name, Image img (get,set)...
ObservableCollection<cls_Widget> widgets....
Image newImage = new Image();
newImage.Source = new ImageSourceConverter().ConvertFromString("")as ImageSource;
cls_Widget wdg = new cls_Widget();  
wdg.img = newImage
wdg.name = "My Widget";
widgets.Add(wdg);                  
lstWidgets.ItemsSource = widgets;
....

Текстовый блок Текст отображается, но изображение отсутствует (область изображения пуста). Я ценю любую помощь! Я получил и изображение для отображения в различных сценариях кода, но не этот ...

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 16 апреля 2009

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

Кстати, вывод отладочной информации в Visual Studio может показать, что происходит сбой в привязке.

0 голосов
/ 16 апреля 2009

Если вы привязываете источник изображения к свойству подложки, свойство подложки должно быть источником изображения, а не изображением.

Кроме того, вы можете использовать ContentControl для отображения изображения в вашем объекте. Попробуйте это:

...
<TextBlock Name="txtTitle" Margin="2,5,5,2" Text="{Binding name}" />
<ContentControl Name="imgDisp" Width="50" Height="50" Padding="0"
                Content="{Binding img}"/>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...