将项添加到自定义ListBox

本文关键字:自定义 ListBox 添加 | 更新日期: 2023-09-27 18:26:20

我有一个包含ImageTextBlockListBoxItem模板。如何从代码中将项添加到此ListBox?

<ListBox Name="listBox">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" >
                <Image Source="{Binding}" Width="16" />
                <TextBlock Text="{Binding}" Margin="5,0,0,0" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

将项添加到自定义ListBox

我假设您想要一个在行中具有图像源和文本属性的类

public class TestClass()
{
    public string ImageSrc {get; set;}
    public string DisplayText {get; set;}
}

将对象添加到您的收藏

listBox.Items.Add(new TestClass() { ImageSrc = "blahblah", DisplayTest = "Test Display Text" });

等等

然后你可以在的行中使用xaml

<ListBox Name="listBox">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" >
                <Image Source="{Binding ImageSrc}" Width="16" />
                <TextBlock Text="{Binding DisplayText}" Margin="5,0,0,0" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>