为什么Silverlight的ItemsControl没有ItemContainerStyle属性?

时间:2014-04-08 01:29:36

标签: wpf silverlight itemscontrol

标题几乎说明了一切。我可以自己动手,但鉴于WPF有它,它的缺席显而易见。

1 个答案:

答案 0 :(得分:1)

我认为确切的答案可能只有Silverlight开发人员,但他们通常不喜欢回答这些问题。 Silverlight是WPF的精简版本,因为MSDN

  

为了保持Silverlight小巧轻便,Silverlight中没有一些WPF和.NET Framework功能。

为什么删除ItemContainerStyle?可能以为他在ListBox中,所以作为替代方案,您可以使用 ListBox.ItemContainerStyle

虽然开发人员不能只从ItemsControl类中删除ItemContainerStyle属性,因为此属性不在ListBox WPF中,他继承自Selector类和ItemsControl中的Selector,如下所示:

[Localizability(LocalizationCategory.ListBox)]
[StyleTypedProperty(Property = "ItemContainerStyle", StyleTargetType = typeof(ListBoxItem))]
public class ListBox : Selector
{
   ...
}

这再一次证明这是在Silverlight的设计阶段做出的慎重决定。

事实上,Silverlight和WPF中的许多内容都以不同的方式实现。因此,我建议你看看这个链接,但同样,这只是差异的一个小(常见)部分:

Contrasting Silverlight and WPF

WPF Compatibility