gpt4 book ai didi

c# - 无法从我的 Windows Phone 8.1 应用程序中的 ListView 拖动项目

转载 作者:行者123 更新时间:2023-11-30 12:45:26 25 4
gpt4 key购买 nike

我正在创建我的第一个 Windows Phone 8.1 应用程序作为 Windows 应用商店通用应用程序的一部分。台式机/平板电脑版本已完成并已在商店中销售数周,效果很好。我在构建手机版本时非常小心并尽可能少地假设,到目前为止我已经取得了合理的成功。但是,有一个问题我无法通过实验、Stackoverflow 或 Google 解决:我无法让 ListView 中的项目成为可拖动的。

这是我的应用中其中一个页面的截图:

New Workout page from Solo Coach app

用户通过将锻炼从右侧的 ListView 拖动到左侧区域来创建锻炼程序。他们可以根据需要多次拖动练习;这就是为什么它不仅仅是一个可以检查项目的单一列表。

这在桌面/平板电脑版本上完美运行,但在手机版本上,当我点击并按住一个项目时,我无法将它拖到任何地方。它不会移动,也不会显示任何指示其可拖动的功能可见性。

这是我用来定义 ListView 的 XAML。它与工作版本几乎完全相同,但我已经打开了一些在那里不存在的属性(IsSwipeEnabled 我认为),希望它们能发挥神奇的作用:

    <ListView x:Name="StepsList" ItemsSource="{Binding Steps}"
ContainerContentChanging="ItemView_ContainerContentChanging"
SelectionMode="Single" Drop="StepsList_Drop"
Tapped="StepsList_Tapped"
CanDragItems="True"
AllowDrop="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Grid.Row="1" Grid.Column="1"
DragItemsStarting="StepsList_DragItemsStarting"
Margin="5,0"
IsSwipeEnabled="True"
SelectionChanged="StepsList_SelectionChanged">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="MinWidth" Value="300" />
<Setter Property="MaxWidth" Value="300" />
<Setter Property="AllowDrop" Value="True" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<local:StepControl Role="StepsSource" Tapped="StepSourceItem_Tapped" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

我在 DragItemsStarting 事件处理程序代码中放置了一个断点,它永远不会被击中。

最佳答案

需要在后面的代码中设置。

StepsList.ReorderMode =  ListViewReorderMode.Enabled;

关于c# - 无法从我的 Windows Phone 8.1 应用程序中的 ListView 拖动项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24597578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com