Как вы используете флип-просмотр и делаете выбор, касаясь или щелкая экран?

В Win 8 элемент управления flipview — отличный элемент управления для просмотра коллекции. Но как или что лучше всего сделать «выделение» касанием или щелчком мыши? Я всегда могу поместить кнопку за пределами флип-представления, но это не тот сенсорный опыт, который ожидал бы каждый от планшета.

Может ли кто-нибудь привести пример кода (XAML/C#) того, как настроить элемент управления flipview с каким-то выбором, который будет переходить на совершенно другую страницу?


person irperez    schedule 06.05.2012    source источник


Ответы (1)


Я написал пример кода, который работает, если я правильно понимаю вопрос. Я могу пролистать FlipView и коснуться отдельного элемента:

<FlipView Tapped="FlipView_Tapped_1">
    <Image Source="Images/Apple.jpg" />
    <Image Source="Images/Orange.jpg" />
    <Image Source="Images/Banana.jpg" />
</FlipView>

А потом

private YourTypeHere SelectedItem;
private void FlipView_Tapped_1(object sender, TappedRoutedEventArgs e)
{
    this.SelectedItem = (sender as FlipView).SelectedItem;
}

Возможно, вы не захотите задавать поле, но вы поняли идею. Надеюсь, вы будете что-то настраивать в своей модели представления. Оттуда вы можете перемещаться или все, что вам нужно. FlipView наследуется от ItemsControl, как и любой другой повторитель XAML. Таким образом, вы можете относиться к нему точно так же. http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.aspx

person Jennifer Marsman - MSFT    schedule 20.07.2012
comment
+1 Событие Tapped также обрабатывает действия мыши, так что это здорово! - person Jerry Nixon; 09.08.2012
comment
похоже, что событие tapped также запускается, если вы нажимаете/щелкаете стрелки навигации, чтобы перейти к следующему элементу в просматриваемом представлении... это нормально обрабатывать в коде программной части, поскольку я могу отфильтровать событие, проверив OriginalSource и убедитесь, что это изображение ... но я не могу найти способ сделать это, если я использую поведение для запуска команды при постукивании, поскольку стрелка навигации запускает ее, но не имеет контекста касания пункт. есть идеи? - person SelAromDotNet; 14.08.2015