【发布时间】:2015-09-16 17:06:13
【问题描述】:
我的 Windows Phone 8.1 中有一个 ListView,可以在其中选择多个项目。其中有一些项目是不可选择的。我为这两种项目定义了一个DataTemplate 选择器。我用于绑定的类有一个IsSelectable 属性,它确定要使用哪个DataTemplate。
<ListView SelectionMode="Multiple">
<ListView.ItemTemplate>
<DataTemplate x:Key="KeyValueDataTemplate">
<utils:KeyValueTemplateSelector HorizontalAlignment="Stretch" Content="{Binding}">
<utils:KeyValueTemplateSelector.NotSelectable>
<DataTemplate>
<!-- some controls -->
</DataTemplate>
</utils:KeyValueTemplateSelector.NotSelectable>
<utils:KeyValueTemplateSelector.Selectable>
<DataTemplate>
<!-- some controls -->
</DataTemplate>
</utils:KeyValueTemplateSelector.Selectable>
</utils:KeyValueTemplateSelector>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
使用SelectionMode="Multiple" 选项会自动在每个项目旁边显示CheckBox。对于不可选择的项目,我需要隐藏 CheckBox。我尝试编辑ListViewItemStyle 并绑定复选框VisibilityIsSelectable(使用BooleanToVisibilityConverter)。但它似乎不起作用。
【问题讨论】:
标签: c# windows-phone-8.1 windows-8.1