从ListBox派生一个自定义类型
重写GetContainerForItemOverride(),返回你的自定义ListBoxItem的实例
大概就是这样吧:
public class MyListBox:ListBox
{
protected override DependencyObject GetContainerForItemOverride()
{
return new MyListBoxItem();
}
}

解决方案 »

  1.   

    <Style TargetType="ListBoxItem">
    改为你自己的类型即可
    <Style TargetType="local:MyListBoxItem">
    这里的local是当前项目的命名空间,定义方式不用我说了吧。
      

  2.   

    添加local的前缀解析: 
    <Style x:Key="ListBoxStyle1" TargetType="{x:Type local:MyListBox}">
                <Setter Property="ItemContainerStyle">
                    <Setter.Value>
                        <Style TargetType="local:MyListBoxItem">
                          ...
                          ...
                        </Style>
                    </Setter.Value>
                </Setter>
      </Style>