我需要修改过滤器在Silverlight Pivot查看器中的行为方式。
我有这个过滤器:
关键词:
X关键字a
_关键字b
X关键字c
_关键字%d
_关键字e
过滤器生成“Keyword a OR Keyword c”。我需要的是“关键词a和关键词c”。
这有可能吗?
如有任何帮助,我们不胜感激!
发布于 2010-12-14 18:07:25
扑克恶棍说的很对,但这并不意味着PivotViewer
不是你的解决方案。我一直在研究的一个系统也遇到了类似的问题,我设法找到了一种合适的方法来让PivotViewer
发挥得更好。但是,这只适用于JIT集合,因为它依赖于重新获取数据。
从本质上讲,我一直在研究的系统是一个案例管理系统。与案例相关的大部分数据都是互斥的,因此符合PivotViewer
的模型,但也可以向案例添加“标签”,正如您所建议的那样,用户通常会希望在那里进行组合逻辑。下面是我为解决这个问题所做的工作。
首先,..你需要一份Silverlight Spy的拷贝。现在,在SSpy的资源管理器选项卡中,您可以向下钻取可视化树并查看PivotViewer
的内部结构。我的是这样的..。
你可以看到我已经向下钻取了名为'PART_FacetPane‘的控件。下面有一堆CustomAccordianItem
,本质上你只需要继承PivotViewer的子类(这就是为什么我的方法是PivotViewerEx的原因)并覆盖OnApplyTemplate
方法。
在这里,您将能够使用GetTemplateChild
或其他方法来导航VisualTree并自行添加另一个控件。在我的项目中,我使用了之前构建的一个简单的标记云控件。
我所做的是处理标记云控件的事件,将查询字符串值附加到用于构建CXML的URL,并根据这些参数过滤数据。它不像能够“实时”过滤数据那样流畅,但目前它是一种解决方案。
可能值得一提的是,根据您的环境,您可能需要向CXML URL添加一个最终的、随机生成的querystring值,这样您就不会得到数据的缓存副本。
哦,Stimul8d。
发布于 2010-12-07 00:16:31
底线..。不是的。你可以通过这个控件得到你想要的东西。(目前)
但是您可以生成一个“虚拟”方面,它是一个项目的所有关键字的串联。但如果你有超过几个关键字,它会看起来非常丑陋。
https://stackoverflow.com/questions/4345071
复制相似问题