列表框有一个datatemplate,但我想在列表框中添加一个特殊项目,而datatemplate无法处理。我怎么能这样做?
答案 0 :(得分:0)
如果您有CompositeCollection
可供使用( - 如果您不这样做,则抱歉 - )您可以尝试使用它。
private void ListBox_Loaded(object sender, RoutedEventArgs e)
{
var specialItem = new ListBoxItem()
{
Content = "Very special item.",
FontWeight = FontWeights.Bold
};
var collectionContainer = new CollectionContainer()
{
Collection = MyCollection
};
var composite = new CompositeCollection();
composite.Add(specialItem);
composite.Add(collectionContainer);
(sender as ListBox).ItemsSource = composite;
}
答案 1 :(得分:0)
如果您的列表框具有合理数量的项目,您可以将列表框的AlternationCount
设置为大于项目数的值,并使用ListBoxItem的AlternationIndex
上的DataTrigger执行特殊操作作为切换模板,如果它等于0