我想将图像和文本放入列表框项(C#wpf)

时间:2019-06-27 04:45:26

标签: c# image text listbox wpf-controls

列表框项目的图像太大。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);
    }

2 个答案:

答案 0 :(得分:0)

您需要在Image控件上设置Height或MaxHeight属性。既然您说要“恒定高度”,然后设置图像的高度,并告诉它适当地缩放源即可。

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

答案 1 :(得分:0)

在应用程序中使用listView控件,并使用imagelist控件保存许多图像,并在listview控件中设置图像索引。 我认为这太简单了