如何向列表视图中的图像添加复选框

本文关键字:图像 添加 复选框 视图 列表 | 更新日期: 2023-09-27 17:55:13

请参阅下面的代码,该代码将图像从本地文件夹添加到列表视图:

for (int i = 0; i < num_of_slides; i++) //populate the thumbnail list
{
    var fileName = @dir + (i+1) + ".png";
    var bitmap = new BitmapImage(new Uri(fileName));  
    Image image = new Image() { Source = bitmap };
    image.Width = 140; 
    CheckBox checkbox = new CheckBox();
    Thumbnails.Items.Add(image);
    //Thumbnails.Items.GetItemAt(i); here I want to somehow access current image and add checkbox in corner within that image
}

如何在每个图像中添加一个复选框,但不被视为ListView中的一个元素,而是每个图片的子元素?

如何向列表视图中的图像添加复选框

由于Image不支持内容,因此您需要将ImageComboBox包装在某种容器中,例如。 Grid .

// set checkbox alignment
checkbox.HorizontalAlignment = HorizontalAlignment.Left;
checkbox.VerticalAlignment = VerticalAlignment.Bottom;
var grid = new Grid();
grid.Children.Add(image);
grid.Children.Add(checkbox);

这个例子怎么样

<DataTemplate x:Key="FirstCell">
  <StackPanel Orientation="Horizontal">
    <CheckBox IsChecked="{Binding Path=IsSelected, 
      RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/>
  </StackPanel>
</DataTemplate>
<GridViewColumn CellTemplate="{StaticResource FirstCell}" Width="30"/>