Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未引发Xamarin窗体收缩到缩放事件_C#_Android_Xamarin.forms - Fatal编程技术网

C# 未引发Xamarin窗体收缩到缩放事件

C# 未引发Xamarin窗体收缩到缩放事件,c#,android,xamarin.forms,C#,Android,Xamarin.forms,我一直在尝试实现一个带有WebView的页面,并在必要时编写一些自定义代码来缩放。 但是不会引发PinchGestureRecognizer的PinchUpdated事件 第页: 当我在事件中设置断点时,它不会被击中。 不在emulator或真实设备上 有什么建议吗?根据您的说法,我认为您的问题在于如何针对Web视图处理事件。默认情况下,如果尝试在webview的框架内收缩缩放,则只会影响webview中的html。 如果您不打算与web视图交互,请尝试将遮罩框视图放置在整个web视图的顶部,然

我一直在尝试实现一个带有WebView的页面,并在必要时编写一些自定义代码来缩放。 但是不会引发PinchGestureRecognizer的PinchUpdated事件

第页:

当我在事件中设置断点时,它不会被击中。 不在emulator或真实设备上


有什么建议吗?

根据您的说法,我认为您的问题在于如何针对Web视图处理事件。默认情况下,如果尝试在webview的框架内收缩缩放,则只会影响webview中的html。
如果您不打算与web视图交互,请尝试将遮罩框视图放置在整个web视图的顶部,然后对遮罩框应用收缩缩放。

好的,但这意味着用户无法与web视图交互。我只需要“收缩到缩放”事件。我的使用案例是,该应用程序将显示一个响应速度快的固定网站,因此不会使用缩放。在这种情况下,我希望用户能够切换到配置页面。哦,好的,我明白你现在所说的。不幸的是,因为您实际上是在制作一个混合应用程序,所以您的所有交互都必须通过webview中的JavaScript进行处理。要与应用程序通信,您需要使用混合Web视图,这在Xamarin中还不受支持,但可以构建。这是一个关于如何做的好医生。谢谢你的解释。对于我的用例来说,这似乎有点过头了。我将考虑另一种进入配置的方式:没问题。如果您希望显示jsut一些简单的html,那么您也可以使用jsut标签。你会惊讶于它需要多少html。从发布的代码来看,“PinchreConcegnizer”似乎没有添加到页面或Web视图中。尝试使用image.gestureignizers.AddpinchGesture等代码;将手势附加到视图。查看教程:不幸的是,这也不起作用。
<ContentPage.Content>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <WebView Grid.Column="0" Grid.Row="0" Source="https://google.com/" />
    </Grid>
</ContentPage.Content>
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
    private PinchGestureRecognizer pinchRecognizer = new PinchGestureRecognizer();

    public MyPage()
    {
        InitializeComponent();

        this.pinchRecognizer.PinchUpdated += this.HandlePinchUpdated;
    }

    private void HandlePinchUpdated(object sender, PinchGestureUpdatedEventArgs e)
    {
        // Do something
    }
}