Как ограничить флипвью xaml только в одном направлении?

В настоящее время я использую класс Windows.UI.Xaml.Controls.FlipView для отображения серии изображений в приложении Windows 8 Metro. В обычном случае использования пользователь может переключаться между изображениями, поэтому FlipView прекрасно работает.

Однако существует особый сценарий, когда пользователь входит в режим, в котором он может только перевернуть изображения вперед, то есть он не может перевернуть назад, пока не выйдет из этого режима. Я пытался выяснить, есть ли простой способ отключить перелистывание назад на FlipView, но не нашел очевидного решения.

Есть ли хороший способ сделать это с помощью стандартного FlipView, или мне нужно переключиться на другой элемент управления, или даже написать собственный?

1 ответ

Решение

Какая странная просьба.

Надеюсь, это не кажется слишком простым. Он выполняет работу в 3 строки!

Вот как (просто удалите их после просмотра):

private void FlipView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var _ItemsCollection = (sender as FlipView).Items;
    foreach (var item in e.RemovedItems)
        _ItemsCollection.Remove(item);
}

<Grid Background="Black">
    <FlipView FontSize="100" SelectionChanged="FlipView_SelectionChanged">
        <x:String>0</x:String>
        <x:String>1</x:String>
        <x:String>2</x:String>
        <x:String>3</x:String>
        <x:String>4</x:String>
        <x:String>5</x:String>
        <x:String>6</x:String>
        <x:String>7</x:String>
        <x:String>8</x:String>
        <x:String>9</x:String>
        <x:String>10</x:String>
        <x:String>11</x:String>
        <x:String>12</x:String>
        <x:String>13</x:String>
        <x:String>14</x:String>
        <x:String>15</x:String>
        <x:String>16</x:String>
        <x:String>17</x:String>
        <x:String>18</x:String>
        <x:String>19</x:String>
        <x:String>20</x:String>
        <x:String>21</x:String>
        <x:String>22</x:String>
        <x:String>23</x:String>
        <x:String>24</x:String>
        <x:String>25</x:String>
        <x:String>26</x:String>
        <x:String>27</x:String>
        <x:String>28</x:String>
        <x:String>29</x:String>
    </FlipView>
</Grid>

Удачи!

Другие вопросы по тегам