2010-01-26 121 views
1

我正在为我的WPF自定义控件写一个通用控件模板。 但ItemsPresenter我只有原始数据列表.. 与列表框相比,列表框具有我需要的所有功能。列表框而不是WPF自定义控件中的ItemsPresenter?

使用ListBox而不是ItemsPresenter是错误的吗?

我后是 如果我写一个使用ListBox并在后面的代码我注册了一些ListBox特定的事件,有人将覆盖一个通用模板我一般Template用自己ControlTemplate WITN内,一个ItemsControl不具备那个事件,它会引发一个异常。在ItemsPresenter的情况下,每个人都可以使用他想要的。

谢谢。

回答

0

我想你可以添加一些测试,看看模板中的ItemsControl是否是一个ListBox或不。例如:

var itemsControl = this.Template.FindName("PART_Items", this); 
if(itemsControl is ListBox) 
{ 
    // wire additional event handler here 
}