我已经创建了我插入了我的窗前用下面的代码允许将元素添加到列表中的XAML
<controls:ListExpander Text="Class Diagrams"></controls:ListExpander>
有问题的控制自定义的控件包含几个子控件等等,清单。如何创建设置,以便我可以指定应添加到列表中的项目?最后,我在寻找以下架构
<controls:ListExpander Text="Class Diagrams">
<SomeItem>data<SomeItem>
<SomeItem>data<SomeItem>
<SomeItem>data<SomeItem>
<SomeItem>data<SomeItem>
</controls:ListExpander>
在这种情况下,SomeItem对象应该被添加到列表中ListExpander:
<ListBox Name="lstItems" Background="LightGray">
<ListBox.Items>
// Items should go here
</ListBox.Items>
</ListBox>
我很新的WPF,但我想这是沿着在ListExpander上创建一个依赖关系集合的东西,它需要SomeItem
类型的对象?
编辑:让我澄清一下。我只是希望能够给控件一些参数,它可以转换为控件中包含的列表框中的项目。
Items和lstItems之间的绑定似乎不起作用。 SomeItem对象实际上被添加到_items,但不是列表框。 – 2009-10-03 19:48:03
也许你需要在你的控件构造函数中设置DataContext来绑定工作。类似this.DataContext = this;或者使用TemplateBinding而不是Binding,或者使用指定RelativeSource的较长版本的Binding表达式。无论如何,原则的立场,你只需要在我的示例代码中找到一个缺少的怪癖。 – 2009-10-09 15:49:51