Jan*_*vil 4 windows-runtime winrt-xaml windows-phone-8.1
我需要在使用WinRT创建的Windows Phone 8.1应用程序中创建可重新排序的ListView.XAML如下(它与代码隐藏中的ObservableDictionary绑定):
<Grid Margin="24">
<ListView x:Name="MainListView" CanDragItems="True" CanReorderItems="True" AllowDrop="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
<ListView.ItemTemplate>
<DataTemplate>
<Border Padding="24" Margin="16" Background="CadetBlue">
<TextBlock Text="{Binding}" />
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
Run Code Online (Sandbox Code Playgroud)
当我尝试重新排序项目时,ListView什么都不做(看起来"重新排序模式"没有激活).
当我在Windows 8.1中运行此示例(共享XAML)时,它按预期工作.根据文档,应支持Windows Phone 8.1.
手机是否支持此功能(文档错误)或我是否需要为手机做一些特殊操作?
HDW*_*ion 12
对于WP,您需要设置ListViewBase.ReorderMode
这对我有用 - 不知道哪些属性真的是必要的; ReorderMode在代码后面设置:
<ListView x:Name="fooListView"
ItemsSource="{Binding barlist, Mode=OneWay}"
SelectionMode="None"
AllowDrop="True" CanDragItems="True" IsSwipeEnabled="True" />
Run Code Online (Sandbox Code Playgroud)
ListViewBase.Reorder属性仅适用于Windows Phone,因此如果您在通用应用程序的共享部分中具有XAML,则需要使用条件编译来设置它,如下所示:
#if WINDOWS_PHONE_APP
MainListView.ReorderMode = ListViewReorderMode.Enabled;
#endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2022 次 |
| 最近记录: |