0

我正在开发一个自定义控件,我想知道将一些自定义属性从 my 传递ItemsControl到 my ItemsContainers 的最佳方法是什么。这些属性是一些ItemsContainer应该能够使用的自定义值。

有人在创建自定义控件时遇到同样的问题吗?在代码中解决这个问题的最常见方法是什么?

我认为使用 DataTriggers 或从 ItemsContainer 的 ControlTemplate 绑定到 RelativeSource 并不是最好的方法。

有没有面向对象的方法来解决这个问题?

4

2 回答 2

0

我认为依赖属性是你需要的。例如,在您的使用控件中定义一些,并在 xaml 中设置它们。

于 2012-12-05T09:39:29.457 回答
0

如果您不想使用DataTriggers 或相对绑定,您可以创建自己的ItemsControlItemsControl容器(例如通过继承ListBoxListBoxItem),然后通过覆盖ItemsControl.GetContainerForItemOverride 方法来实例化具有特定属性的容器,最后将您的自定义控件属性绑定到容器上定义的属性。

DataTriggers话虽如此,在 ViewModel 上使用和管理这些属性并没有错。

于 2012-12-05T09:36:57.793 回答