【问题标题】:Disable ListView Multiple Selection But Retain CheckBox Value禁用 ListView 多选但保留 CheckBox 值
【发布时间】:2018-07-26 17:35:34
【问题描述】:

我有一个包含电影类型的 ListView。用户可以选择多种流派。它保存在数据库中。

在管理员模式下,我希望拥有相同的 ListView:复选框和值。只有在这里管理员不能更改 SelectedItems。我希望禁用 ListView 的选择。我尝试了以下步骤:

  1. 如果我将 SelectionMode 从 Multiple 设置为 None,则复选框消失,因为没有“DisableSelection”。
  2. 如果我将 IsHitTestVisible 设为 False:我无法滚动 ListView
  3. 我尝试修改样式 (ListViewItem),其中我将 MultiSelectSquare Visibility 设置为始终可见,并且我还删除了 MultiSelectClipTransform,因为如果 SelectionMode 不是多个,则此元素会隐藏复选框。问题是:复选框在那里,但所有项目的 selectedvalue 都未选中。

有人有解决方法吗?

【问题讨论】:

    标签: c# xaml listview uwp


    【解决方案1】:

    如果我是正确的,那么您需要一个 ListView,它具有正常的 ListView 的所有内容,但用户(您的情况的管理员)无法更改选择。

    如果是这样,那么我已经为您提供了解决方案。只需将ItemsPanelHitTestVisible 属性设置为false。像这样:

    <ListView SelectionMode="Multiple" IsItemClickEnabled="False">
         <ListView.ItemsPanel>
             <ItemsPanelTemplate>
                 <ItemsStackPanel Orientation="Vertical" IsHitTestVisible="False"/>
             </ItemsPanelTemplate>
         </ListView.ItemsPanel>
    </ListView>
    

    【讨论】:

    • 我从没想过修改itemspaneltemplate。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-07-25
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    相关资源
    最近更新 更多