【发布时间】:2014-02-21 20:55:52
【问题描述】:
我需要一些有关 Windows 商店应用程序 8.1 中 Listview 的专家帮助。目前我在 Listview 中垂直显示 150 个项目,默认属性设置为启用,如
IsSwipeEnabled="True" IsTapEnabled="True" SelectionMode="Single" CanDragItems="True" CanReorderItems="True"
有了上面的设置,一切都很好, 当屏幕加载时,我看到默认选择列表视图中的第一项,如何删除默认选择。我设置了 seletedindex =-1 和 selecteditem=null,没有任何效果。
当我设置 SelectionMode = "none" IsTapEnabled= False 和 IsItemClickEnabled="True" 然后 我没有看到第一个项目被选中。但现在我触摸事件没有触发。
第二个问题是我的列表视图项目是可拖动的,每次当我选择/点击一个项目并拖动到网格的右侧时。我的整个 Listview 浮动或移动,我想让 Listview 固定在适当的位置,当我拖动单个 ListViewItem 时不应该拖动整个 listview。这给用户带来了烦恼。我希望修复列表视图,即它不应该在选择和拖动项目时移动。请给我一些建议。
<SemanticZoom x:Name="semanticZoom" VerticalAlignment="Bottom" Grid.Row="4" HorizontalAlignment="Left" Style="{x:Null}"
>
<SemanticZoom.ZoomedOutView>
<GridView IsItemClickEnabled="False" IsSwipeEnabled="False" ScrollViewer.IsHorizontalScrollChainingEnabled="False" Style="{x:Null}">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid ItemWidth="75" Orientation="Horizontal" ItemHeight="75" MaximumRowsOrColumns="5" Background="Transparent" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</SemanticZoom.ZoomedOutView>
<SemanticZoom.ZoomedInView>
<ListView x:Name="ItemsGridView" IsSwipeEnabled="True" SelectionMode="Single" IsTapEnabled="True" VerticalAlignment="Stretch" MaxHeight="725"
ItemsSource="{Binding Source={StaticResource GrpColumns},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Height="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" AllowDrop="True" Drop="ItemsGridView_Drop"
Tag="{Binding Path=Columns,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ScrollViewer.VerticalScrollMode="Auto" CanDragItems="True" CanReorderItems="True" IsItemClickEnabled="True" >
<interactivity:Interaction.Behaviors>
<behaviors:DragBehaviour/>
</interactivity:Interaction.Behaviors>
<ListView.ItemTemplate>
<DataTemplate>
<Grid Margin="10,2,0,2" HorizontalAlignment="Stretch" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"></ColumnDefinition>
<ColumnDefinition Width="97*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="{StaticResource AsterikGlyph}"
Style="{StaticResource GlyphIconStyle}" Margin="0,2,0,0"
FontFamily="{StaticResource SymbolThemeFontFamily}"
HorizontalAlignment="Center" VerticalAlignment="Top"
Visibility="{Binding Path=IsRequireField,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource TextBlockVisibityConverter}}" />
<TextBlock Text="{Binding SrcName}" TextTrimming="WordEllipsis" Margin="2,0,0,2" TextWrapping="NoWrap"
Style="{StaticResource SemantizZoomOutViewTextBlock}" Grid.Column="1" ToolTipService.ToolTip="{Binding SrcName}"
VerticalAlignment="Center" HorizontalAlignment="Left">
</TextBlock>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ItemsPanelTemplate>
<ItemsStackPanel Orientation="Vertical" VirtualizingStackPanel.VirtualizationMode="Standard" />
</ItemsPanelTemplate>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Border Background="#333F50" Margin="4" BorderBrush="Transparent" BorderThickness="1" Width="60" Height="60">
<Button x:Name="HeaderButton" Background="Transparent" Width="60" Height="60" Padding="1" HorizontalAlignment="Center" VerticalAlignment="Center" Click="HeaderButton_Click">
<TextBlock Text="{Binding Key}" Margin="2" Style="{StaticResource GroupHeaderTextStyle}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Button>
</Border>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
</SemanticZoom.ZoomedInView>
</SemanticZoom>
【问题讨论】:
-
请检查答案或向我们添加更多帮助
标签: .net windows windows-store-apps windows-8.1