2013-07-07 4 views
1

내가 윈도우 스토어 앱을 개발하고 클릭 한 나는 그런 XAML 코드를 가지고 : 나는 불가능 목록보기에서 항목 선택을 할목록보기 비활성화 항목은

<Popup x:Name="Panel3" IsOpen="False" Grid.ColumnSpan="18" Grid.Column="13" Grid.Row="4" Grid.RowSpan="31"> 
    <StackPanel> 
     <Rectangle Width="765" Height="10" /> 
     <ListView x:Name="Person" Grid.ColumnSpan="18" Grid.Column="13" HorizontalAlignment="Left" Height="643" Grid.Row="4" Grid.RowSpan="31" VerticalAlignment="Top" Width="765" > 
      <ListView.Background> 
       <SolidColorBrush Color="#FF665920" Opacity="0.85"/> 
      </ListView.Background> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding name}"/> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </StackPanel> 
</Popup> 

합니다. 보기 전용이므로 사용자는 목록보기 안의 아무 것도 선택하거나 클릭 할 수 없습니다. 어떻게해야할까요? 내 안부 ...

추신. 나는 목록보기 라인에 IsItemClickEnabled = "거짓"을 추가 :

<ListView x:Name="Person" Grid.ColumnSpan="18" Grid.Column="13" HorizontalAlignment="Left" Height="643" Grid.Row="4" Grid.RowSpan="31" VerticalAlignment="Top" Width="765" IsItemClickEnabled="False"> 

하지만 여전히 클릭, 아무것도 변경하지 않았다.

<ListView x:Name="Person" SelectionMode="None" ... /> 

추가로 당신은 여전히 ​​당신의 필요에 따라 IsItemClickEnabled="False"이 필요할 수 있습니다

답변

5

당신은 ListView의 항목 선택을 비활성화 NoneSelectionMode 속성을 설정해야합니다.

+0

고맙습니다! :) – Alasse

+0

@nemesv 감사합니다. 이렇게하면 항목 선택이 중지되지만 항목을 클릭해도 애니메이션이 계속 표시됩니다. 애니메이션을 중단하는 방법에 대해서도 알고 있습니까? – Rick

0

SelectionMode="None"IsItemClickEnabled="False"을 필요에 따라 설정하는 것과 함께 ListViewItem의 시각적 상태를 수정해야한다는 것을 발견했습니다. nemesv가 대답했습니다.

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate> 
        <Grid> 
         <VisualStateManager.VisualStateGroups> 
          <VisualStateGroup x:Name="CommonStates"> 
           <!-- here we are clearing the state behavior, 
            thus disabling the clickability of the ListViewItem --> 
           <VisualState x:Name="Normal" /> 
           <VisualState x:Name="PointerOver" /> 
           <VisualState x:Name="Pressed" /> 
          /VisualStateGroup> 
         </VisualStateManager.VisualStateGroups> 
         <Grid> 
          <ContentPresenter x:Name="ListViewItemContent" /> 
         </Grid> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ListView.ItemContainerStyle>