我正在Silverlight中构建一个内部文件门户网站样式应用
我需要能够使用pivotviewer中的复选框按类别过滤文件:
要使用ItemsControl显示类别,并且我当前正在使用hacky变通方法存储类别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数据服务)
答案 0 :(得分:1)
为了避免这种黑客行为,你可以创建包含复选框+其他数据和id属性的自定义控件