2013-09-20 2 views
1

Я не могу найти способ справиться с этой ситуацией. У меня есть ListView в моем приложении для магазина Windows 8. Список представляет собой привязку данных и имеет ItemTemplate, как показано ниже.Windows Store App ListView item данные и визуальные состояния

<DataTemplate x:Key="FixtureItem"> 
      <Grid Height="110" Margin="6" Width="521" Background="#7F335107"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="110"/> 
        <ColumnDefinition/> 
        <ColumnDefinition Width="110"/> 
       </Grid.ColumnDefinitions> 
       <TextBlock x:Name="awayTeamScore" Text="{Binding AwayTeamScore}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap" Margin="5,0,5,11" FontSize="22" FontWeight="Bold" Grid.Column="1" FlowDirection="RightToLeft" VerticalAlignment="Bottom" FontStretch="Condensed" /> 
       <TextBlock x:Name="matchInfo" Text="{Binding MatchInfo}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap" Margin="10,40,10,50" FontSize="22" FontWeight="Bold" Grid.Column="1" FlowDirection="RightToLeft" TextAlignment="Center"/> 
       <TextBlock x:Name="homeTeamScore" Text="{Binding HomeTeamScore}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap" Margin="5,6,5,0" FontSize="22" FontWeight="Bold" Grid.Column="1" Height="20" VerticalAlignment="Top" FontStretch="Condensed" /> 
       <Image x:Name="homeTeamImage" Source="{Binding HomeImage}" Stretch="Uniform" AutomationProperties.Name="{Binding HomeTeam}" Width="110"/> 
       <Image x:Name="awayTeamImage" Source="{Binding AwayImage}" Stretch="Uniform" AutomationProperties.Name="{Binding AwayTeam}" Grid.Column="2"/> 
      </Grid> 
     </DataTemplate> 

Проблема у меня в том, что Windows 8 имеет небольшую анимацию, когда вы нажимаете элемент в виде списка. Это происходит, даже если в списке установлено значение SelectionMode = "none". поэтому мне нужно изменить визуальное состояние прессованного состояния в

<VisualState x:Name="Pressed"/> 

Но я не могу показаться, чтобы получить эту работу в моем шаблоне данных. Каков правильный способ сделать это, не нарушая привязку данных?

ответ

1

Если вы просто не хотите выбора, почему бы вам не рассмотреть возможность использования ItemsControl вместо ListView? Вы должны иметь в виду, что виртуализация там не реализована, но look here for details.

+0

Не думайте, что я могу использовать это напрямую? Добавление элементов в ObservableCollection, связанное с ItemSource, вызывает исключение «катастрофического сбоя» –

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