gpt4 book ai didi

c# - 如何在运行时用文本和图像填充 WPF 组合框

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:22 25 4
gpt4 key购买 nike

我正在尝试使用 WPF 复制 WinForms 应用程序。

在我的应用程序中,我有一个包含电影标题的 ComboBox,让我可以搜索电影。现在我将它移植到 WPF,我想使用 ComboBox 来显示电影的标题和海报图像。

我已经创建了 ComboBox 和两个对象,但不知道如何在运行时填充 ComboBox,因为 Add 方法不允许我将两个对象添加到一个。

combobox.items.add()

请帮我看看如何在运行时用文本和图像填充 ComboBox。

更新:这是组合框的 xaml 代码

<ComboBox x:Name="busca_pelicula" HorizontalAlignment="Left" VerticalAlignment="Top" Width="334" Margin="147,93,0,0" IsEditable="True">
<ComboBox.Effect>
<DropShadowEffect/>
</ComboBox.Effect>
<TextBox HorizontalAlignment="Left" VerticalAlignment="Center" Name="PeliText"/>
<Image HorizontalAlignment="Right" Height="50" VerticalAlignment="Center" Width="50"/>
</ComboBox>

用我的电影数据库中的数据填充组合框的代码是这样的

busca_pelicula.Items.clear();

使用 sql 东西检索标题和电影海报

BitmapImage ImagenPoster = new BitmapImage();
ImagenPoster.BeginInit();
ImagenPoster.UriSource = new Uri(wMediaPath+"Peli\\"+wNombrePoster);
ImagenPoster.EndInit();

busca_pelicula.Items.Add(? don't know what to put here)

最佳答案

首先你必须创建一个类似这样的类:

public class Movie : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public string Name { get; set; }
public ImageSource Picture { get; set; }
}

然后在您的 xaml 中,您必须按如下方式更改组合:

    <ComboBox >
<ComboBox.ItemTemplate>
<ItemContainerTemplate>
<StackPanel>
<Image Source="{Binding Picture}"></Image>
<TextBlock ><Run Text="{Binding Name}"/></TextBlock>
</StackPanel>
</ItemContainerTemplate>
</ComboBox.ItemTemplate>
</ComboBox>

关于c# - 如何在运行时用文本和图像填充 WPF 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32489262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com