我开发了一个应用程序,其中我在flipview中有多个页面。 现在我想停止触摸时的滑动导航。我使用过Isenabled属性但是 这也将禁用flipview的内容,我只想禁用其导航但允许用户与其内容进行交互,因为我需要拖放,并且还需要放大和缩小其内容。 请帮我解决问题。
答案 0 :(得分:1)
为了在不影响FlipViewItem内容的情况下禁用FlipView的滑动导航,请覆盖ControlTemplate并在ItemsPresenter中将ManipulationMode更改为None,并将下面的代码放在FlipView中:
<FlipView.Template>
<ControlTemplate>
<ItemsPresenter ManipulationMode="None"></ItemsPresenter>
</ControlTemplate>
</FlipView.Template>
我已经测试过了,它运行正常。
答案 1 :(得分:1)
您可以通过将ManipulationMode设置为TranslateX并将下面的代码放在FlipView中来尝试此方法:
XAML:
<FlipView Width="300" Height="300" Name="MyFlipView">
<FlipViewItem ManipulationMode="TranslateX" ManipulationDelta="FlipViewItem_ManipulationDelta">
<Image Source="Assets/1.jpg" ></Image>
</FlipViewItem>
<FlipViewItem ManipulationMode="TranslateX" ManipulationDelta="FlipViewItem_ManipulationDelta">
<Image Source="Assets/2.jpg" ></Image>
</FlipViewItem>
</FlipView>
代码背后的代码:
private void FlipViewItem_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
if (e.Delta.Translation.X != 0)
{
e.Handled = true;
}
}