控制阻塞输入以降低控制

时间:2014-09-15 21:46:24

标签: wpf esri

希望这是一个WPF问题,而不是esri问题。我有一个ESRI地图控件,我在地图上放置一个控件。当我这样做时,地图不再接收输入(我无法移动或点击任何东西)。如果我修改顶部控件的z-index以将其放置在地图后面,则地图可以再次正常工作。

 <Grid Name="MapGrid"  DockPanel.Dock="Top"   >

            <Grid Name="MapGrid"  DockPanel.Dock="Top"   >

        <esri:MapView x:Name="MainMapView" Panel.ZIndex="0"   KeyDown="MyMapView_KeyDown"   MapViewTapped="MyMapView_MapViewTapped"  Map="{Binding Source={StaticResource MapResource}}"   WrapAround="True"  Grid.Row="0" Grid.Column="0"  Initialized="MyMapView_Initialized" >
        </esri:MapView>

        <Expander Header="Properties" ExpandDirection="Right" Panel.ZIndex="-1">
            <ItemsControl  Background="Transparent" Height="700" Width="500" HorizontalAlignment="Left" VerticalAlignment="Top"  Name="FeaturePropertyRegion" cal:RegionManager.RegionName="FeaturePropertyRegion" />
        </Expander>

    </Grid>

此代码有效,但如果我提升Expander面板的ZIndex,则地图不再接收输入。我假设问题与WPF的可视化树有关,以及输入如何向下级联。关于问题可能是什么的任何想法?感谢。

修改

问题似乎在于扩展器,因为如果我删除扩展器并且只有ItemsControl,地图就可以工作。

1 个答案:

答案 0 :(得分:1)

尝试:

    <Expander IsHitTestVisible="False">
        <ItemsControl  />
    </Expander>

它似乎不是扩展器的问题,如果确实如此,它将非常有线 我试过这个:

<Grid>

    <Button  />
    <Expander HorizontalAlignment="Left" ExpandDirection="Right" VerticalAlignment="Top">
        <Rectangle Fill="Red" Stretch="Fill" Width="525" Height="350"/>
    </Expander>

</Grid>