移入按钮显示下拉,移出消失效果&&BUGCanvas内部分区域无法响应解决
效果描述:移入按钮区域显示下拉,移出消失
先直接贴一个代码:(此代码是完整可行的)
<Canvas Name="main_index_panel" Grid.Row="0" Grid.Column="1" Width="900" Height="600" Margin="0,0,0,10" 
                PreviewMouseMove="main_index_panel_PreviewMouseMove">
            <Canvas.Background>
                <ImageBrush ImageSource="../Images/bg.png" Stretch="Uniform" AlignmentX="Center" AlignmentY="Top"/>
            </Canvas.Background>
            <!--<Button x:Name="main_index_user_btn" Canvas.Left="740"   Style="{StaticResource main_Index_user_btn}" HorizontalAlignment="Left" Click="main_index_user_btn_Click" PreviewMouseMove="main_index_user_btn_PreviewMouseMove">-->
                <!--<Image Source="../Images/user_btn1.png" Width="18" Height="18" Margin="0,5,0,0"/>-->
            <Button x:Name="main_index_user_btn" Canvas.Left="740"   Style="{StaticResource main_Index_hideAndClose_btn}" HorizontalAlignment="Left" Click="main_index_user_btn_Click" PreviewMouseMove="main_index_user_btn_PreviewMouseMove">    
            <Image Source="../Images/user_white.png" Width="16" Height="16" Margin="0,0,0,0"/>
            </Button>
            <Button x:Name="main_index_faq_btn" Canvas.Left="780"   Style="{StaticResource main_Index_hideAndClose_btn}" HorizontalAlignment="Left" Click="main_index_faq_btn_Click" PreviewMouseMove="main_index_faq_btn_PreviewMouseMove">
                <Image Source="../Images/more_white.png" Width="16" Height="16" Margin="0,0,0,0"/>
            </Button>
            <s:UserFaqWidget x:Name="userFaqWidget" Visibility="Collapsed"  Canvas.Left="780" Canvas.Top="45"></s:UserFaqWidget>
</Cancas>
其中Canvas是整块画布,s:UserFaqWidget是其中的下拉显示框部分,Button x:Name="main_index_faq_btn"是“当事人”按钮,移入按钮,下拉框显示,移出消失。
可能会遇到一种错误场景:移入按钮,下拉出现,然后鼠标快速移出到某一块区域,此时下拉并没有消失,断点调试发现并未触发PreviewMouseMove="main_index_panel_PreviewMouseMove"方法,What the fuck? 有些测试会发现这种小问题的!
其实这个问题主要看两点:
1.Canvas画布是否加上了宽度和高度,如果没有,先加上。
2.Canvas画布是否设置背景,如果实在不需要设置背景色,就设置成透明Background="Transparent"。如果没有设置背景,在canvas里面某些没有控件的区域,会无法触发PreviewMouseMove方法,切记了。


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号