UWP ListView:启用项目重新排序和点击而不选择它们

时间:2016-03-16 16:19:24

标签: listview winrt-xaml win-universal-app selection windows-10-universal

我需要为我的用户提供在UWP应用中显示垂直项目列表的功能。用户应该能够点击项目来执行某些操作并通过拖动重新排序,但无法选择它们。 UWP ListView是一个很好的候选人。我将使用此控件与以下设置来实现我需要的(简化形式):

<ListView CanReorderItems="True" AllowDrop="True" SelectionMode="None">
    <ListViewItem>Blue</ListViewItem>
    <ListViewItem>Red</ListViewItem>
    <ListViewItem>Yellow</ListViewItem>
    <ListViewItem>Green</ListViewItem>
</ListView>

当然,在真实的应用程序中,我通过ItemsSource属性使用数据绑定,我的自定义项模板如下所示:

<ListView.ItemTemplate>
    <DataTemplate>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="50" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Rectangle Height="50" Width="50" Fill="RosyBrown" />
            <TextBlock Grid.Column="1" Text="Some text" />
        </Grid>
    </DataTemplate>
</ListView.ItemTemplate>

不幸的是,我找不到一个好的,简单的方法来做我需要的事情。我的主要问题是ListView中的选择。例如,即使我将ListView的SelectionMode设置为None,当用户将鼠标指针移到它们上时,项目仍然会突出显示。 IsHitTestVisible属性也没有帮助,因为如果我们将项目设置为False,则无法点击和拖动项目。

有没有办法解决我的问题?

0 个答案:

没有答案