网站';s导航栏';s下拉列表为';t在UWP中工作

网站';s导航栏';s下拉列表为';t在UWP中工作,uwp,web,dropdown,navigationbar,Uwp,Web,Dropdown,Navigationbar,我目前正在开发一个UWP应用程序,我的一个页面是在应用程序中显示一个网站。但是,我在导航栏的下拉列表中遇到了一些问题 这个应用程序将在触摸屏设备上运行,问题来了。当我尝试在本地计算机上运行应用程序时,当我将鼠标悬停在上时,下拉列表将成功显示。如下图所示: 但是当我在触摸屏设备上尝试应用程序时,下拉列表没有显示,页面被导航到导航栏中的“主标题”页面 我想知道这是否是因为当我在触摸屏上尝试它时,我在导航栏中选择了“主标题”,它被视为点击事件,因此它没有执行我在本地机器上运行并将鼠标悬停在导航栏上时所

我目前正在开发一个UWP应用程序,我的一个页面是在应用程序中显示一个网站。但是,我在导航栏的下拉列表中遇到了一些问题

这个应用程序将在触摸屏设备上运行,问题来了。当我尝试在本地计算机上运行应用程序时,当我将鼠标悬停在上时,下拉列表将成功显示。如下图所示:

但是当我在触摸屏设备上尝试应用程序时,下拉列表没有显示,页面被导航到导航栏中的“主标题”页面

我想知道这是否是因为当我在触摸屏上尝试它时,我在导航栏中选择了“主标题”,它被视为点击事件,因此它没有执行我在本地机器上运行并将鼠标悬停在导航栏上时所执行的操作

这是我在.xaml下的代码:

<Page
x:Class="CitiKiosk_v2.Views.WebsitePage"
x:Name="pageRoot"
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CitiKiosk_v2.Views"
xmlns:common="using:CitiKiosk.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">


<Grid>
    <Grid.ChildrenTransitions>
        <TransitionCollection>

        </TransitionCollection>
    </Grid.ChildrenTransitions>
    <ProgressRing Height="64"
                  Width="64"
                  Name="WebViewLoadProgressRing"
                  HorizontalAlignment="Center"
                  VerticalAlignment="Center"
                  IsActive="True"
                  Foreground="White" />

    <WebView Name="webView"
             Margin="0,0,0,20"
             Tapped="webView_Tapped"
             Source="http://www.nyp.edu.sg/schools/sit.html"
             NavigationStarting="webView_NavigationStarting"
             NavigationCompleted="webView_NavigationCompleted"
             PointerMoved="webView_PointerMoved"
             IsDoubleTapEnabled="False" 
             IsHoldingEnabled="False" 
             IsRightTapEnabled="False" 
             IsTapEnabled="False"
             FlowDirection="RightToLeft" />

    <CommandBar IsSticky="True"
                Name="WebViewCommandBar"
                Background="{StaticResource CitiKioskBackgroundBrush}"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Bottom">

        <CommandBar.Transitions>
            <TransitionCollection>

            </TransitionCollection>
        </CommandBar.Transitions>



            <AppBarButton Icon="Back"
                          Label="Back"
                          IsCompact="True"
                          Foreground="White"
                          IsEnabled="{Binding CanGoBack,ElementName=webView}"
                          Name="WebViewBackButton"
                          Click="WebViewBackButton_Click"/>
            <AppBarButton Icon="Forward"
                          Label="Forward"
                          IsCompact="True"
                          Foreground="White"
                          IsEnabled="{Binding CanGoForward,ElementName=webView}"
                          Name="WebViewForwardButton"
                          Click="WebViewForwardButton_Click"
                          Margin="0 0 1500 0"/>

            <AppBarButton Icon="Refresh"
                          Label="Refresh"
                          IsCompact="True"
                          Name="WebViewRefreshButton"
                          Foreground="White"

                          Click="WebViewRefreshButton_Click"/>

    </CommandBar>

    <ProgressBar Name="WebViewProgressBar"
                 HorizontalAlignment="Stretch" 
                 Height="10"                      
                 VerticalAlignment="Bottom" 
                 IsIndeterminate="True" 
                 Foreground="White"
                 FontWeight="Bold"/>



</Grid>


有没有办法解决这个问题?谢谢大家!

现在的问题是,您正在使用
webview
。黄金法则是在
webview
上,您无法控制渲染内容。问题是,如果你想显示一个
网站
,你可以使用
网络视图
,但是如果你不是网站的开发者,你的
网络视图
中显示的内容有点超出你的控制

问题是,有两个事件
悬停在
上和
单击
,当您将鼠标悬停在网站的导航栏上时,将调用
悬停在
上事件,并显示下拉列表。现在,当您
点击按钮上的(触摸设备)
时,您正在调用按钮的
单击事件,因此它会被导航,但不提供下拉列表


不幸的是,在你的应用程序级别没有办法处理这个问题。网站开发者需要处理或定义触摸事件和鼠标事件的特定行为

这是一个必须发送给网站创建者的问题。他们应该更好地处理触摸,这不是你的应用程序能够解决的问题(不改变HTML)。