我需要修改过滤器在Silverlight Pivot查看器中的行为方式。
我有这个过滤器:
关键词:
x关键字a
_关键字b
x关键字c
_关键字d
_关键字e
过滤器生成“关键字OR关键字c”。我需要的是“关键字和关键字c”。
这可能吗?
感谢任何帮助!
答案 0 :(得分:2)
Poker Villain所说的非常正确,但这并不意味着PivotViewer
不适合你。我遇到了一个与我一直在努力的系统有类似的问题,并设法找到一种让PivotViewer
玩得很好的合适方法。这只适用于JIT集合,因为它依赖于重新获取数据。
基本上我一直在研究的系统是一个案例管理系统。与案例相关的大部分数据都是相互排斥的,因此符合PivotViewer
的模型,但也有能力将“标签”添加到案例中,就像您建议的那样,用户通常会想要组合逻辑那里。以下是我为解决问题所做的工作。
首先,你要一份Silverlight Spy的副本。现在,在SSpy的资源管理器选项卡中,您可以在Visual Tree中向下钻取并查看PivotViewer
的内容。这是我的看法......
你可以看到我已经钻进了名为'PART_FacetPane'的控件中。在那之下有一堆CustomAccordianItem
个。基本上,您只需要子类化PivotViewer(这就是我的PivotViewerEx的原因)并覆盖OnApplyTemplate
方法。
在这里,您将能够使用GetTemplateChild
或其他方法来浏览VisualTree并自行添加另一个控件。在我的项目中,我使用了之前构建的简单标签云控件。
我所做的是处理标签云控件的事件,并将查询字符串值附加到用于构建CXML的URL,并根据这些参数过滤数据。它不像现在那样过滤“现场”数据那么流畅,但它现在是一个解决方案。
可能值得一提的是,根据您的具体情况,您可能需要向CXML URL添加最终的,随机生成的查询字符串值,这样您就无法获得数据的缓存副本。
HTH,Stimul8d。
答案 1 :(得分:0)
但你可以生成一个“虚拟”方面,它是项目所有关键字的串联。但是,如果你有多个关键字,它看起来会非常难看。