在XAML中渲染分隔列表?

时间:2011-01-07 19:19:25

标签: wpf silverlight list xaml styles

是否有通用的XAML样式或模板技术将数据绑定列表项目作为屏幕上的分隔列表呈现?

想象一下在XAML中输出类似函数调用声明的内容:foo(a,b,c)其中“a”,“b”和“c”来自数据绑定列表。 (“foo”也是数据绑定,但不是参数列表)

“a”,“b”和“c”元素需要保留XAML UI元素,以便它们可以在XAML中进行UI交互和样式化。 (所以我认为这取消了简单的字符串连接作为解决方案的资格)

关键点是在列表末尾有一个虚假的尾随逗号。

这与如何设置列表中第一个和/或最后一个元素的方式与中间元素不同的问题有些相关。我在这里看到有关stackoverflow的建议,在ItemsTemplateSelector中使用ItemsControl来测试一个项目是列表中的第一个还是最后一个并返回相应的模板,但问题是{ {1}}无权访问该项目所来自的列表。你可以将特定列表的肉体知识破解为一次性的kludge,但是你如何以通用的,可重用的方式做到这一点?

1 个答案:

答案 0 :(得分:3)

在WPF中,您可以使用具有相对源PreviousData的绑定。如果以前的数据为空,则表示它是列表中的第一项,因此无需预先设置分隔符。

唉,Silverlight不支持这个,当我有完全相同的要求时,我无法找到一个很好的解决方法。我最后只设置了一个边距,使得尾随的逗号永远不可见。