Silverlight使用诸如pivotviewer之类的复选框过滤数据?

Silverlight使用诸如pivotviewer之类的复选框过滤数据?,silverlight,filtering,ria,Silverlight,Filtering,Ria,我正在silverlight中构建一个内部文件门户风格的应用程序 我需要能够使用pivotviewer中的复选框按类别筛选文件: 要显示类别,我使用ItemsControl,而我目前使用的是一种黑客解决方法来存储类别id。。因此,在检查或取消检查某些内容时,可以适当地添加和删除文件: <ItemsControl x:Name="categoryList" ItemsSource="{Binding}">

我正在silverlight中构建一个内部文件门户风格的应用程序

我需要能够使用pivotviewer中的复选框按类别筛选文件:

要显示类别,我使用ItemsControl,而我目前使用的是一种黑客解决方法来存储类别id。。因此,在检查或取消检查某些内容时,可以适当地添加和删除文件:

                    <ItemsControl x:Name="categoryList" ItemsSource="{Binding}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="2">
                                <CheckBox Checked="categoryIncluded" Unchecked="categoryExcluded" Content="{Binding ID}">
                                    <CheckBox.ContentTemplate>
                                        <DataTemplate>
                                            <!-- This is a hack, content is being used to store the id of the category -->
                                        </DataTemplate>
                                    </CheckBox.ContentTemplate>
                                </CheckBox>
                                <TextBlock Foreground="#FFC2BDBD" Text="{Binding Name}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>

这似乎是一次大规模的黑客攻击

在silverlight中通常如何执行此操作


(顺便说一句,我正在使用RIA数据服务)

为了避免这种攻击,您可以创建包含chekbox+其他数据和id属性的自定义控件。

好建议。。我只是想知道是否已经有了这样做的方法?您可以使用viewmodel bind Ischecked属性进行此操作,并在更改时通知过滤器,因为您是在viewmodel中进行此操作的,所以您已经有了id值,非常感谢。。我最终对复选框进行了子类化,并添加了字段:)