我想有我WPF列表框,这是数据绑定,生成子类ListboxItems,而不是常规ListboxItems。 在这种情况下,一个DataTemplate是不够的,因为我需要为子类的一些ListBoxItems自定义属性。
有没有办法有对数据绑定列表框生成mySubClassedListBoxItem项目?
谢谢,巴特
我想有我WPF列表框,这是数据绑定,生成子类ListboxItems,而不是常规ListboxItems。 在这种情况下,一个DataTemplate是不够的,因为我需要为子类的一些ListBoxItems自定义属性。
有没有办法有对数据绑定列表框生成mySubClassedListBoxItem项目?
谢谢,巴特
您需要创建自己的列表框的子类,所以你可以重写它创建容器的制造方法,例如,
public class MyListBox : ListBox
{
public MyListBox()
{
// Should get the default style & template since styles are not inherited
Style = FindResource(typeof(ListBox)) as Style;
}
protected override DependencyObject GetContainerForItemOverride()
{
var container = new MyListBoxItem();
return container;
}
}
public class MyListBoxItem : ListBoxItem
{
public MyListBoxItem()
{
Style = FindResource(typeof(ListBoxItem)) as Style;
// To easily see that these are custom ListBoxItems:
// TextElement.SetForeground(this, Brushes.Red);
}
// ...
}