将项添加到自定义ListBox

时间:2014-10-12 21:17:44

标签: c# wpf

我的ListBoxItem模板包含ImageTextBlock。如何从代码中将Item添加到此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>

1 个答案:

答案 0 :(得分:2)

我假设你想要一个具有

行中的imagesource和text属性的类
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>