2014-02-21 4 views
0

Мне нужна помощь экспертов по Listview в приложении 8.1 для Windows. В настоящее время я отображая 150 пунктов в Listview вертикально, со свойствами по умолчанию устанавливается для того, чтобы какПроблемы с Windows Store Элемент управления ListView

IsSwipeEnabled = "True" IsTapEnabled = "True" SelectionMode = CanDragItems "Single" = "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> 
+0

Пожалуйста, проверьте ответ или добавьте дополнительную помощь нам – Krekkon

ответ

0

Я думаю, вы можете привязать выбранный элемент ListView к свойству с помощью getter и setter. Возьмите точку прерывания в сеттер, и вы можете проверить в стеке вызовов причину установки значения по умолчанию. Причина Поскольку я знаю, что в ListView нет выбора по умолчанию.

Со вторым вопросом, могу ли я проверить ListView и его родителей? В кодеке или что-то в этом роде.

+0

У меня нет привязки к SelectedItem. как вы сказали, выбор по умолчанию не является причиной выбора значения по умолчанию – user145610

Смежные вопросы