В моем приложении Windows 8.1/Windows Phone 8.1 у меня есть GridView, и я хочу изменить свой VisualState после выбора элемента. Я могу сделать это легко с поведением, как это:GridView - событие Fire SelectionChanged по уже выбранному элементу
<GridView IsItemClickEnabled="True" ItemsSource="{Binding Collections}" SelectedItem="{Binding SelectedItem,Mode=TwoWay}">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="SelectionChanged">
<Core:GoToStateAction StateName="NextVisualState"/>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
<GridView.ItemTemplate>
<DataTemplate >
<Grid Width="80" Height="80">
<TextBlock Text="{Binding ItemName}" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Horizontal" MinWidth="150"></ItemsWrapGrid>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
возникает проблема, когда уже выбран мой пункт (пользователь может быть на этом VisualState с пунктом уже выбранным путем связывания или что-то), я хочу, чтобы событие SelectionChanged для запуска, если пользователь нажмет на элемент, который уже выбран (чтобы он мог перейти к следующей VisualState).
Я пытаюсь изменить VisualState на событие ItemClick, но событие запускается до того, как элемент будет выбран, чтобы он не работал.
Thx Dipak, но если я это сделаю, я потеряю выбранный элемент. И это не то, что я хочу. Я хочу, чтобы пользователь мог нажать на уже выбранный элемент. –
Затем используйте переменную flag при событии selectedChanged .. like if flag == 0 {flag = 1 Ваш код действия} он не будет запускать ваш код действия при событии загрузки –
SelectionChanged - это событие, которое на самом деле «только» срабатывает, когда «выбор» изменяется, поэтому вы не можете использовать это, если вы не хотите самостоятельно манипулировать выбранным индексом. Возможное решение - использовать событие Tapped. Поскольку это всегда срабатывает при нажатии элемента ... – Depechie