Listview 使用scrollview的ViewChange时禁用事件(如单击)的更好方法

Listview 使用scrollview的ViewChange时禁用事件(如单击)的更好方法,listview,uwp,scrollview,pressed,Listview,Uwp,Scrollview,Pressed,我按照这个顺序使用了一个视图和另一个视图。 滚动视图; 斯塔克帕内尔 两个列表视图; Grid在这里,我插入了一个pressEvent来更改listview背景图像,因为不知为什么,当我在listview中使用pressEvent和releaseEvent时,它们从未被触发;所以如果有人知道为什么,请回答。 此解决方案还有另一个问题:当我垂直滚动列表时,ListView中的项目也会被单击,并且我的图像会发生更改。为了解决这个问题,我正在考虑创建滚动视图的ViewChanged和ViewChang

我按照这个顺序使用了一个视图和另一个视图。 滚动视图; 斯塔克帕内尔 两个列表视图; Grid在这里,我插入了一个pressEvent来更改listview背景图像,因为不知为什么,当我在listview中使用pressEvent和releaseEvent时,它们从未被触发;所以如果有人知道为什么,请回答。 此解决方案还有另一个问题:当我垂直滚动列表时,ListView中的项目也会被单击,并且我的图像会发生更改。为了解决这个问题,我正在考虑创建滚动视图的ViewChanged和ViewChanging,如果我的视图垂直滚动,就会触发事件。因此,通过更改“IsItemClickEnabled=“False”标志,这只会使滚动工作。然后,在ViewChanged事件中,该标志会更改回IsItemClickEnabled=“True”, 我的问题是:有没有更好的方法来解决这个问题?为什么在ListView中按下的事件不起作用

![左侧项目未被选中右侧项目已被单击][1]:


{
private void grdListEmployers_PointerPressed(对象发送方,PointerRoutedEventArgs e)
{
//在这里我改变形象;
}
私有void ScrollViewer_ViewChangeing(对象发送者,ScrollViewServices更改事件参数)
{
//在这里,我在ListView中禁用IsItemClicked
}
私有void ScrollViewer_ViewChanged(对象发送者,ScrollViewServices变更开发者)
{
//在这里,我在ListView中启用IsItemClicked
}

关于您的pressEvent,您的意思是grdListEmployers中的PointerPressed事件不会被触发吗?您将grdListEmployers中的IsTapEnabled设置为false,因此事件不会被触发,您需要将其设置为true,如:

<Grid x:Name="grdListEmployers" Margin="15,15,0,0" IsTapEnabled="True" ......>
<Grid x:Name="grdListEmployers" Margin="15,15,0,0" IsTapEnabled="True" ......>
private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{

    if (e.IsIntermediate)
    {
        MasterListView.IsItemClickEnabled = false;
    }
    else
    {
        MasterListView.IsItemClickEnabled = true;
    }
}