1

目前,我们在控件的 ControlTemplate 中有一个可视元素,其 Visibility 绑定到附加属性,并在满足特定条件时在控件上设置。当附加属性为 true 时,我们使元素可见(边框)并在值为 false 时折叠它。

另一种方法是通过向控件添加一些自定义状态来更改控件的状态。

考虑加载大量数据的网格(例如,Telerik 的 RadGridView 等 - 在 GridViewCell 上设置附加属性以使其 ControlTemplate 元素之一可见/单元格状态更改)等场景,该方法显示更多表现?

4

1 回答 1

2

附属性方式肯定没问题。如果您想创建自定义视觉状态,您很可能最终会做同样的事情 - 不是创建附加属性并附加到,而是扩展控件以具有相同的属性和设置的GridViewCell新视觉状态to ,并且当满足属性的条件时触发状态。VisibilityBorderCollapsed

该控件RadGridView具有内置的虚拟化功能,我认为您根本不需要担心性能。但我想创建附加属性可能会更简单一些,而扩展控件可能会更灵活一些 - 例如,如果您想在新状态下制作一些繁重的动画,您可以在 Blend 中轻松完成。

于 2013-11-10T04:43:25.943 回答