Как ограничить флипвью 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>
Удачи!