Я хочу поместить изображение и текст в элемент списка (C # wpf) - PullRequest
0 голосов
/ 27 июня 2019

Изображение элемента списка слишком велико. введите описание изображения здесь

Я хочу сделать этот элемент постоянной высоты.Как на картинке ниже. введите описание изображения здесь

Это мой код

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 голосов
/ 01 июля 2019

используйте элемент управления listView в вашем приложении и используйте элемент управления imagelist для хранения множества изображений и установки индекса изображения в элементе управления listview. Я думаю, что это слишком просто

0 голосов
/ 27 июня 2019

Вам необходимо установить свойства Высота или MaxHeight в элементе управления Image. Поскольку вы говорите, что хотите «постоянную высоту», установите высоту изображения и попросите его соответствующим образом масштабировать источник.

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