数据绑定列表框 - 一个对象成员需要特殊处理

时间:2011-05-19 15:20:02

标签: c# wpf data-binding listbox

<ListBox Name="DisplayItemListBox">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <ListBoxItem  >
         <StackPanel Orientation="Horizontal">
           <TextBlock Text="{Binding Path=Response}"  />
             <Button Width="50" Height="50" Content="Remove" Click="Request_Remove_Click"/>
             <Image Name="MyImage" Width="50" Height="50"  />
             </StackPanel>
       </ListBoxItem>
     </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

我在这样的代码隐藏中绑定:

DisplayItemListBox.ItemsSource = (List<MyObject>) MyObjectList; 

MyObject有一个二进制Photo属性,我需要在代码后面转换为BitmapImage。我需要以这样的方式修改我的XAML:当ListBoxItems首次用数据初始化时,会触发一个能够访问ListBoxItem的MyObject和它的MyImage的函数。

1 个答案:

答案 0 :(得分:1)

您听说过ValueConverters吗?这些允许您在绑定过程中转换属性。以下示例显示如何将URI转换为BitmapImage,您可以将其用作Image元素的Source:

http://www.eggheadcafe.com/sample-code/SilverlightWPFandXAML/03d69c15-172b-4098-bb90-5119f9bdac24/silverlight-ivalueconverter-for-image-urls.aspx

你应该可以使用类似的东西。