我想把图片和文字放到列表框项中(C# wpf)

I want to put the image and text into the list box item(C# wpf)

列表框项目的图像太大。enter image description here

我想让它成为一个恒定高度的项目。就像下图一样。 enter image description here

这是我的代码

xaml:

<ListBox Grid.Row="0" x:Name="listBox" HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" AllowDrop="True" Drop="ListBox_Drop" DragEnter="ListBox_DragEnter" ScrollViewer.VerticalScrollBarVisibility="Visible" >
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Vertical">
                    <Image Margin="3" Source="{Binding Path}"/>
                    <TextBlock Margin="3" Text="{Binding Name}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

cs:

class VideoListing
{
    public string Name { get; set; }
    public string Path { get; set; }
}
List<VideoListing> list = new List<VideoListing>();
    public VideoPanel()
    {
        InitializeComponent();
        list.Add(new VideoListing()
        {
            Name = "hello",
            Path = @"C:\Users\jskae\Desktop\Screenshot.png",
        });
        listBox.Items.Add(list);
    }

您需要在 Image 控件上设置 Height 或 MaxHeight 属性。既然你说你想要一个 "constant height" 那么设置图像的高度并告诉它适当地缩放源。

<StackPanel Orientation="Vertical">
    <Image Margin="3" Source="{Binding Path}" Height="64" Stretch="Uniform"/>
    <TextBlock Margin="3" Text="{Binding Name}"/>
</StackPanel>

在您的应用程序中使用 listView 控件并使用 imagelist 控件保存许多图像并在 listview 控件中设置图像索引。 我觉得太简单了