none
【Silverlight】【Listbox】【数据绑定】绑定图片到Listbox RRS feed

  • 问题

  • 请问如何将图片绑定到 listbox 控件上?

    比如说,我在/Images/News 目录中有图片 123.png 、456.png、789.png,我想要在 listbox 上显示这三个图片。

    注意:我想通过数据绑定的方式实现,而不是在xaml中添加item来实现。

     

     

     

     

     

     


    坚持,只有这一条通向成功的路了。
    2010年8月17日 7:06

答案

  • public MainPage()
    {
      InitializeComponent();
      Loaded += new RoutedEventHandler(MainPage_Loaded);
    }
    
    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
    
      var imageList = new List<string>();
      imageList.Add("Images/Pngs/female.png");
      imageList.Add("Images/Pngs/male.png");
      list.DataContext = imageList;
            
    }
    
    <Grid x:Name="LayoutRoot" Background="White">
      <ListBox x:Name="list" ItemsSource="{Binding}">
        <ListBox.ItemTemplate>
          <DataTemplate>
            <Image Source="{Binding}" />
          </DataTemplate>
        </ListBox.ItemTemplate>
      </ListBox>
    </Grid>
    
    • 已标记为答案 丛峻峰 2010年8月19日 2:15
    2010年8月18日 6:39

全部回复

  • public MainPage()
    {
      InitializeComponent();
      Loaded += new RoutedEventHandler(MainPage_Loaded);
    }
    
    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
    
      var imageList = new List<string>();
      imageList.Add("Images/Pngs/female.png");
      imageList.Add("Images/Pngs/male.png");
      list.DataContext = imageList;
            
    }
    
    <Grid x:Name="LayoutRoot" Background="White">
      <ListBox x:Name="list" ItemsSource="{Binding}">
        <ListBox.ItemTemplate>
          <DataTemplate>
            <Image Source="{Binding}" />
          </DataTemplate>
        </ListBox.ItemTemplate>
      </ListBox>
    </Grid>
    
    • 已标记为答案 丛峻峰 2010年8月19日 2:15
    2010年8月18日 6:39
  • 后台代码:

    string  imagesPath=''images/News'';

    listbox1.ItemsSource=System.IO.Directory.GetFiles(imagesPath,"*.jpg");

    xaml文件:

    <Grid Background="White">
     <ListBox x:Name="listbox1" >
      <ListBox.ItemTemplate>
       <DataTemplate>
        <Image Source="{Binding}" />
       </DataTemplate>
      </ListBox.ItemTemplate>
     </ListBox>
    </Grid>
    

     就是这么意思。

    可以参考下下面的代码。下面就用到了数据绑定。

    http://msdn.microsoft.com/en-us/library/ee804761

    2011年1月5日 5:40